GCS Service Blog

If you can DREAM it, You can DO it!

DotNet CI/CD Troubleshooting

DotNet CI/CD Troubleshooting


2 minute read

There are customer projects that want to import CI/CD. The project source code SourceCode is made with DotNet Web. Because the customer has not yet used the version control, here he introduced him to use Github, and by the way taught the use of Git.

The first thing I want to use here is TravisCI, because it is directly connected to Github, and it is also convenient for customers. However, testing the test code obtained from the customer side, a test encounters tragedy…

Because Travis is using the Linux Container to build the project, but the support for C# is limited, especially the use of many Windows frameworks, only to find TravisCI.

Then I found a Saas service that provides Windows hosting for CI. Appveyor has a lot of support for C#. I compiled it successfully after I put it into the test project!

Followed by the customer to take the second package of code for testing, because there are really some commercial use of the code, compiled and there is a problem of missing things … had to change another…

Finally, I used AWS’s CodeBuild. I have a host for Windows, but I also have problems with it. But AWS has the option of providing a homemade docker image. So I have studied how to create an image with the client project. Look here ({% post_link AWS-CodeBuild-Create a Windows host DockerImage to create a customized Image %}), by directly helping the customer to build the necessary environment, this piece is safe to spend…

However, after solving the second package code, after the official project was accessed, I encountered another problem. Because the customer had only one person in the past, the project dependency was not well controlled. After putting it on the cloud, there were various kinds of things. Missing refence problem, there seems to be no good way, you can only set some specifications with the customer, and then help deal with the problem of the project…

After these efforts, the most difficult part of the customer’s CI/CD has been solved, and the subsequent automatic deployment part can also be started.

Recent posts