#15 - CI/💿 Workflows #125
Replies: 4 comments 4 replies
-
Hi CUMGroup, I didn't know that you had an accessable Documentation, so I had a look at that and it's pretty cool, nicely done. Therefore everything was very understandable and I think you're taking the right path with your approach. I also had a look at your .yaml files, but since we also use GitHub Actions these look pretty similar so no questions arose from my side. The only thing I'm wondering about: do you also do an internal review for every pull request or do you compeletely rely on your test results? Keep the good work up! Cheers, |
Beta Was this translation helpful? Give feedback.
-
Hi AMOGUS, |
Beta Was this translation helpful? Give feedback.
-
Hi CUMGroup, I really like your CI/CD workflow, especially that it's so minimal. All through the article I've been like "what tools do they use?". But it's all just Github actions, didn't know they're that powerful. Are your unit test results also documented somewhere or does it work like "tests passed, the rest doesn't matter"? Keep up the good work! |
Beta Was this translation helpful? Give feedback.
-
Hi CUMGroup, I'm excited to hear about your CI/CD workflow. I'm impressed with how you've used GitHub Actions and Docker to create a solution that is both simple and effective. I like how you've used GitHub Actions to automate the build and test process. This frees up your team to focus on other tasks, and it helps to ensure that your code is always up-to-date and free of errors. Sincerely, |
Beta Was this translation helpful? Give feedback.
-
Heio heio heio 👋,
This week we were talking about CI/CD in our Softwareengineering lecture.
As we already finished our CI/CD workflow before this lecture, we want to present you our CI/CD solution.
Continious Integration Workflow
Whenever a pull request to the main branch changes the
./src/
folder 📁 our CI Workflow gets triggered. This includes:Building the API and UI
This configuration file triggers Github Actions to checkout our project and build the .NET project as well as the Angular project. If only one fails the workflow fails and the pull request gets
Run all Unit Tests
Look here to see the config file for running all our unit tests. If any test fails the pull request gets rejected and the workflow fails. ❌
The cherry on top 🍒 is that a code coverage report is also generated.
Continous Deployment Workflow
If our pull request gets accepted, we can go on pushing the changes to the main branch. Every time something is pushed to the main branch our CD Workflow gets triggered. This includes two workflows:
API Deployment
This builds a docker image which is then pushed to our DockerHub 🐋 Repository and sends a webhook 🎣 to the deployment script on our server.
UI Deployment
The UI workflow works the same. This is the corresponding config file.
Serverside
Last but not least every time a request comes in, the webhook 🎣 on the server starts the build script which pulls the docker image form DockerHub, 🐳 stops the currently running container then prunes all remaining artifacts 📄 and runs the new container with all required environment variables.
If you want futher information, you can also read our corresponding CI/CD Documentation here
Benefits from our workflow
Because of just using Github Actions and basic Docker configurations we have a minimal setup. We don't need to setup Kubernetes or other container management systems.
Btw. we hope you get your AMOGUS streaks up :D
Yours truly,
CUMGroup
Beta Was this translation helpful? Give feedback.
All reactions