Jump to content

JB_1592

Members
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

1

About JB_1592

  • Rank
    LAVA groupie

LabVIEW Information

  • Version
    LabVIEW 2020
  • Since
    2008

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Yes. To that end, the thing that mostly drew my attention to Azure DevOps last night was the support for TFVC. They advertise Git repos so heavily that I actually didn't realize they (still?) supported that VCS until I took a closer look. You are right, I probably should have limited my question to TFVC and not mentioned Pipelines as it certainly isn't the priority. Maybe tomorrow I'll find a little time to install Team Explorer and play around with it... but when I went looking for the download link I found a MS rep's blog post that basically said MS wasn't going to release a standalone Team Explorer with recent versions of Visual Studio until enough customers asked for it. That makes me wonder how much they even intend to support TFVC going forward and if it might get dropped at some point soon. Mostly you already mentioned them... "none of the common VCSes were designed to work with something like LabVIEW; they were all designed to work with text-based code" Yes, which is why I'd prefer to use a lock/edit/commit workflow vs. a branch and merge one. "They want an extremely high level of control and security over the code base" Define "extremely high level". A lot of Git workflows encourage rewriting or condensing history in ways I'm not entirely a fan of. Can we simply not create a lot of branches (if any), never fork, and hope for no collisions without locks? Yes... and it will probably work fine. That's why I'm not completely ruling it out and looking at the rest of the platform. (Sidenote: I'm actually a little surprised that, unless I'm missing something, Github seems to be the only platform that allows forking to be disabled at the organization level.) This is a loaded question... Define "interaction". They, and especially the managers that would have to approve, tend to be a little... insular. (Trying to be nice here.🤣) This research is mostly backup plan and personal learning... I hope.I do think using what we already have setup and that IS already knows how to support is the best strategy and I've already brought up wanting access to what they use. ... I just won't be surprised when it gets shot down. Yes, absolutely. SCC solution is the first priority, but trying to form some vision for what we might grow into can't hurt in making an informed choice. I was also generally like being aware of what's out there and what larger teams are doing. (Besides... I'm off this week so I've got time to research and play around with some free tier accounts. 😅) Here's my thoughts on the parts of CI that might be nice for us... Automating versioning Automating testing Automating zipping the build and other artifacts and moving the packed files to a NAS location. Ensure the build occurs in a clean environment. That way I know I won't have to go hunting down random dependencies that were in someone's vi.lib folder years later. Ensure the source of the build was checked in and record the commit info. 💭 Granted... I suppose I can do most of that in some form using the Application Builder API and some custom build scripts, and I suppose I could distribute those in project templates... Hmmm, maybe we wouldn't gain much... 💭
  2. Before I go into that, may I ask why you are migrating away from SVN? I'm looking for perspective on other VCS options. As to your question, I think it mostly boils down a lot of little UX frustrations. So far I've had more trouble finding my way around the Bitbucket UI than any other. That said, after spending a little more time with it today... my view is softening a little. I also find the way Atlassian separates everything in different tools to be a little confusing. For example, to get project management, repository storage, and user management, I would need to subscribe to Jira, Bitbucket, and Atlassian Access. Before I added it all up, I also found this was giving the illusion of a higher cost when moving beyond the free tier of any of this services. Maybe that's just me, and it does turn out not to be true. All the separate parts are low cost enough that they combine to still be a decent value compared to the competition. Looking at the more common three Git platforms. Repo management Gitlab allows creating groups and subgroups. Each repo is part of its own project, which can be placed in groups. So I believe the way this would work is I would create a top level group for my organization, then use subgroups to further divide projects into categories. Github allows creating an organization, which can then have teams and subteams. Repos belong to the organization and all share the same namespace. Repos can be assigned to multiple teams. This feels like it would be more useful if I was more interested in controlling access vs. organizing repositories. The UI for navigating this just doesn't seem all that useful. Bitbucket allow creation of a workspace, which can have projects. Similarly to Github, repos belong to the workspace and have a single namespace. Honestly, this feels pretty useless as the projects literally just group repos together and serve no other purpose. As far as I can tell, these "projects" don't provide any actual project management or access controls. (Am I rushing to judgement again?) Jira allows adding multiple repositories to a project, which feels slightly more useful as it at least provides issue tracking, boards, etc. Project Management Gitlab has an issue tracker on each project. Issues propagate and aggregate at the group level. I sort of like this. The downside, which might be something that can be overcome (or ignored) with proper configuration, is that tags used for status automation are board specific. (Although I think I may have just figured out how to fix that.) Github has issue tracking on every repo, and allows creation of projects on repos, teams, and organizations. An issue can be placed assigned to multiple projects. Seems more flexible, but also like it might be more complicated to aggregate status. Bitbucket on its own just has a pretty simple issue tracker on each repo that doesn't seem to have much to it. On the other hand, it also feels like a token effort because they prefer you to go to Jira, which is definitely feature rich. That said, this is also part of the UX issues I mentioned. The method to get Jira issues to show up on the page in Bitbucket is apparently to create a commit that references one of the issues. I did that several times and it didn't work. The issues got hyperlinked on the commits page, but the Jira issues page still said there were no linked projects. I eventually realized this was because (I think) I didn't have Git configured on my computer with the same email as my Atlassian account. On the commits graph it says "This user cannot be matched to an Atlassian account," but apparently that doesn't stop me from being able to commit changes and reference issues... it just won't trigger a link to the project on the issues page. I edited the readme.md file from the web interface and created a commit that was linked to my Atlassian identity and it worked. The integration the other way is simpler; you just click Add Item, Repository, and paste in the address. Unfortunately, that doesn't form the link in Bitbucket. That said, I'm coming to realize the more I play with this that I'd probably be looking to do project management tasks from the Jira project page, not on Bitbucket. Documentation Yeah... they pretty much all offer per repo Wikis. User Management / Security Gitlab SAML enforcement is available at the Silver tier of the cloud application. Self-hosting is available even at the free tier of service. Github SAML enforcement is availabe at the Enterprise tier of the cloud application. I think you can also use Enterprise Server to self host for the same cost? They don't really seem to advertise this very well. Bitbucket Requires subscribing to Atlassian Access. All of their applications can also be self-hosted. (And apparently for next to nothing with a small number of users.) CI Gitlab - I know of others using Gitlab runners with LabVIEW, so that should work. Github - They offer self-hosted runners... Haven't seen anyone specifically using them with LabVIEW, but probably doable? Bitbucket - They actually get some points here for being the easiest to setup a pipeline to build a simple .Net Core console app. (Basic Hello World! thing.) That said, I don't think they offer self-hosted runners or other options that would work for LabVIEW. If we did get to the point of wanting this, I think we'd need to use Jenkins... or maybe Bamboo would work because of course there is another Atlassian product that does this. 🤣
  3. Maybe, but honestly I think it's just the Linux culture. There really isn't one singular, official GUI for the OS itself, why would we expect one for the VCS created by the same guy to manage the kernel source? Besides, if we took that as a valid reason not to create a GUI for something then how do we end up using a graphical programming language?! 🤣
  4. So let's pretend for a moment that Git hasn't taken over the world. Assuming you had a choice, what is your toolchain of choice these days? This is more about total platform than specific VCS implementation. I work with a small team with a badly overdue need for SCC. I find myself in a position to change some things, but, unfortunately, I've spent most of my career here and I'm a bit lacking in experience myself, so I've been looking into available options for a few days. The more I research, the deeper down this rabbit hole I go. Maybe a bit of discussion will help solidify the tools and features I'm looking for, and this seemed a good place for it since "works well with LabVIEW" is a factor. Ramblings from here out... Current state: Madness and chaos.🤪 Desired state: VCS repository management including either on-premises or cloud storage. Project management/issue tracking. CI/CD might be worth exploring? Documentation. A wiki or similar that can document the applications would be great. Due to the industry we are in, user management is sort of important. Ideally I'd like to use SSO and enforce dedicated accounts. Thoughts on possible solutions... Gitlab Seems the most likely Git contender. Bonus points for the fact that it can be self-hosted, which mitigates some of the user management concerns. That said, see drjdpowell's recent thread for the type of discussion that makes me nervous about rolling Git out to an inexperienced team, especially under my not-exactly-expert guidance. Perforce + Jira + Jenkins I believe our software engineering group is using something along these lines. (Not sure what their CI pipeline is.) This loses a some of the appeal of a single application, but I do think I would prefer the idea of a centralized VCS for our situation. SVN + ??? Maybe my Google-fu is off, but I'm not turning up a ton of modern guidance on a full tool chain. Helix Teamhub or Assembla along with Jenkins maybe? (Except I just noticed Assembla says their Jenkins plugin only works with Git... Hmm.) Azure DevOps Can anyone share experience with TFVC or Pipelines? I haven't actually tried any of these tools yet and I'm not sure if it's worth pursuing, but the website is looking... surprisingly not bad. (Although even they seem to be pushing users toward Git.) Also tried Github and Bitbucket. Found myself leaning towards Gitlab over Github, and prefer not to talk about Bitbucket. 🤢
  5. Which goes a long way towards explaining why it's necessary to use the CLI for so much. (And why there isn't actually a real official GUI to begin with.) I'm not saying you are wrong about the CLI being better for some tasks, but this message seems clear enough to me. That said, GitKraken does not seem to show any warnings at all when creating a detached head or navigating away from one. That's a bit disappointing.
  6. Assuming you've tried both, what are some of the features you found useful over Sourcetree? At least at a glance they look pretty similar. GitKraken has the ability to add issues to the sidebar, which is nice. Unfortunately, it only seems to be available for Jira and their own Boards product, and I'm not really planning to use either... probably.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.