Link to VCS root in email template in TeamCity - email

I'm editing my email FTL templates for teamcity. I'd like to know if there's a way to add a link to the repository that the build in the email is connected to. I know that emails in TC are based off of certain builds and not projects, but I'd like to know if there's a way to add the email link to the VCS root of the project that the build is in.

You definitely can do it . teamcity exposes the vcs root through teamcity properties
Please checkout This page and this pageto get the exact vcs id that you need. The vcs id will differ based on which type of vcs you use (git, cvs,svn ) etc

Related

Automate the process of uploading a new build to a website. i.e. npm run build -> cpanel upload

I am managing a mostly static site through GoDaddy.
The site is a React single page application, that is still currently under development, and that occasionally needs content updating. The project folder is hosted as a public git repository.
My goal is to be able to automate the process of updating the site. Currently I need to:
npm run build
navigate to the build folder in windows file explorer
navigate to the public html folder in cpanel, in my web browser
delete the current build files
upload the contents of the build files into cpanel, folder by folder (cpanel will not allow me to upload subfolders)
I have looked through countless forum posts, and blogs, etc to find a way to automate this, but I always end up doing it manually.
You need to investigate using continuous deployment (CD/CI) and using a different hosting setup. Unfortunately, the type of platform that you use (with CPanel) is limiting and is not really oriented at your use case.
However, CPanel does have an option to use Git version control to manage the files and folders in your account. Go into this option and say "Clone repository", where you'll have to link a repo and say where it should install. Note: It is possible that your hosting provider has disabled this feature.
I suspect that this CPanel feature does not automatically pull in changes when you update the repo, so you would probably still need to manually clone the repo again when you make changes (which is still easier than copying files over). Also note that any data you store may be removed when cloning again.

Best practices to organize repository structure for Dynamics 365 CRM Workflows/Plugins/Assemblies

What would be optimal way to set up repository structure for CRM (Dynamics 365) project that should contain advanced features that are being implemented by Workflow Activity/Plugin code?
Would it be wise to have one repository for whole solution and inside, there would be separate projects for each Entity that should contain Workflow Activity or Plugin?
Good points to consider:
Building debug/release assemblies (.dll)
Updating Workflow Activity/Plugin via Plugin Registration Tool
Any limitations for pipelines
Maintainability of these Workflow Activities / Plugins
The way we manage our repositories changes as the tooling evolves, and is highly dependent on personal preference.
My approach is to store everything related to Dynamics/Power Platform in a single GIT repository, and focus on grouping items based on Power Platform solutions.
The repository will have a root folder for each Power Platform solution
Each solution folder will contain the source for web resources, plugins and custom workflow activities for that particular solution
Usually we export and unpack the solution from Dynamics/Power Platform and store in this folder (using the Power Platform CLI)
We usually store scripts specific to this solution in this folder (e.g. DevOps scripts).
We usually then have another root folder to store the generic DevOps scripts
For example:
MyRepoName (GIT repository)
Build
SolutionDeploy.ps1
Solution1
Earlybound
Earlybound.cs
Plugins
PostCreateAccount.cs
Web Resources
Contact
information.ts
Workflows
ConcatString.cs
package
Solution1_unmanaged
Solution1_managed
Scripts
Config.ps1
Solution2
...

bit.dev workflow without dedicated team for a shared library and with code review before publishing

looking for workflow solution. We need something like ad-hoc sharing workflow https://docs.bit.dev/docs/workflows/projects with one addition - before the component publishing could happen only after the code review. let me try to describe the short scenario:
there is a repo with the shared components
there are several consumer projects. each one sits in its own repo
there is no dedicated team to maintain the repo with the shared components
the developer of consumer project imports a share component and make changes
the developer wants to create a pull request for a component changes
So far I see only one solution - the developer manually applies changes he made locally to a shared library repo and manually creates a pull request. Kind of boring. Does the bit.dev provide an automated solution for such case?
While a PR-like feature is still not available in Bit, you can use Git's PR workflow to set up a code review process for components with some automation.
Note this flow can work regardless of the specific workflow your team implements. In this answer, I'll focus on the ad-hock flow, as your team uses.
You'll first need to set up automation on your projects, that when there's a change in component's code, your CI will bit tag && bit export the modified components. This should happen only when a PR is approved and merged to master branch (in Git).
Then using the Git integration feature set up your projects to receive PRs on new versions for components.
With these two setups, this will be the workflow your team can utilize:
Import component to any project and modify.
Submit PR to the project.
Have a peer do a code review.
When change is merged, run bit tag && bit export --eject during CI
Commit and push back changes to package.json to the repo (with a skip-ci flag, per your automation infrastructure).
All projects that use that component get a PR from Bit with the newly available version.
I will update this answer whenever a new feature in Bit improves on this workflow.
as Itay says, you can use the GitHub integration on bit.dev.
But if you want, I create demos projects that show how to use GitHub or Azure CI to integrate the project with Bit, and export new components when code our pushed to master, and also run Bit script on PRs.
https://github.com/teambit/bit-with-github-actions
https://github.com/teambit/bit-with-azure-devops
I hope it will help you.

Share same private Azure DevOps repo with Azure boards on multiple projects

We have the same enterprise app that we sell to multiple customers. The source for the app is hosted in a private Azure DevOps Repo. But we manage each customer's implementation using a separate project for each customer with it's own work items.
Currently we have no way of linking commits to the Source in the Repo project to work items in the implementation project.
We don't want to have the repo in each implementation since that would be redundant and challenging to keep in sync.
Is there a way to handle this inside DevOps?
Currently we have no way of linking commits to the Source in the Repo
project to work items in the implementation project.
For this issue, when you commit to the source in the Repo project, on the Commit page, you can choose to link to work items in other projects.
Or you can click Add link in the Development field of the work items in other projects.
Then on the Add link page, select the Commit link type, select your source repo, and select the commit you want to link.

Link custom domain to any GitHub repo

I am aware that on GitHub you can create a repository, <username>.github.io, which will be a personal website. I also understand you can link custom domains to this, so example.com would show the website in your GitHub repo.
I have a couple questions though.
At the moment, I have a GitHub project - let's call it FooProject. I have purchased a custom domain name for a website to showcase the project. How can I create a website for this, hosted on GitHub? (not a personal site in the form <username>.github.io, but a project site).
Also, can I give the GitHub repository a different name like fooproject.com, or does it something specific?
I suppose what I am really asking is, when hosting a website on GitHub...
Can you host your website using a GitHub repository of any name (like fooproject.com)?
If not, I'm aware of using gh-pages branches for the website of a project. How would this work with a custom domain?
If that isn't a good option either, what's the best option for my use case?
Hope that's clear.
So I managed to answer my own questions in the end - here's what I did.
My website is going to be something to showcase a different project I am working on. I could have hosted the website from a /doc directory or gh-pages branch in my project repository and then set up a custom domain from there.
However, there was also the option of creating a repository with any name and hosting the website from the master branch - this method appealed to me more.
I created a new repository named the same as my domain name, example.com (it doesn't really matter what you call the repository). Then, using git, I added some website files - index.html, stylesheet.css, etc.
Once my repository was ready, I configured its master branch as a publishing source for GitHub pages - see this help page for details.
Then with my DNS provider (GoDaddy, in my case), I configured the CNAME and A records (for the www subdomain and apex domain respectively). There are also help pages on GitHub for setting up www subdomains and setting up apex domains. Note that it takes a little while for the changes made on the DNS to take effect.
Finally, I added my custom domain to my GitHub repository - see the GitHub help page for adding or removing custom domains.
Here's a summary (for using any GitHub repository to host a website):
Create your repository - repository name doesn't matter.
Add your website files - HTML, CSS, JavaScript, etc.
Configure the master branch as a publishing source
Configure CNAME and A records with DNS provider
Add the custom domain to the GitHub repository settings