Skip to content

[feat] added azure pipelines guide #22777

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

kristiyan-velkov
Copy link
Contributor

This PR introduces a new CI pipeline using Azure Pipelines to automate the process of building and pushing Docker images to Docker Hub.

Copy link

netlify bot commented Jun 5, 2025

Deploy Preview for docsdocker ready!

Name Link
🔨 Latest commit 2bd138b
🔍 Latest deploy log https://app.netlify.com/projects/docsdocker/deploys/6842f8c1ef8b3f00089a29fd
😎 Deploy Preview https://deploy-preview-22777--docsdocker.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Copy link
Contributor

@igor-alexandrov igor-alexandrov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kristiyan-velkov good job! I left a small comment to simplify the guide for potential readers.

Furthermore, in the GHA Guide, instead of providing the complete action at the beginning of the guide, David posted parts of it explaining in details what each of them does. In my opinion, his approach is better considering readers' knowledge level.

What do you think?

@kristiyan-velkov
Copy link
Contributor Author

@kasunsjc , @brandonh6k , @HofmeisterAn , @jmaitrehenry, @igor-alexandrov

Could you please review the code again when you get a chance?
I’d appreciate a second look to ensure everything aligns with the expectations. Thanks!

kristiyan-velkov and others added 2 commits June 6, 2025 16:40
@jmaitrehenry
Copy link
Contributor

jmaitrehenry commented Jun 6, 2025

condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
We trigger the pipeline for PR too, you may want to move the condition in the Push Docker Image task instead.

Also update the #### Step 4.3 Build the Docker Image with the sbom and attestation. Maybe we could reference the SBOM and attestion doc page:
https://docs.docker.com/build/metadata/attestations/slsa-provenance/#:~:text=To%20create%20a%20provenance%20attestation,of%20%2D%2Dattest%20type%3Dprovenance%20.
https://docs.docker.com/build/ci/github-actions/attestations/#:~:text=To%20add%20SBOM%20attestations%2C%20set,image%20store%20of%20the%20runner.

@kristiyan-velkov kristiyan-velkov requested a review from kasunsjc June 6, 2025 13:47
@igor-alexandrov
Copy link
Contributor

Could you please review the code again when you get a chance?
I’d appreciate a second look to ensure everything aligns with the expectations. Thanks!

@kristiyan-velkov I checked the PR again. It definitely became better, but the thing I originally pointed to – the unneeded stages: key is still there. What did you decide about it?

@kristiyan-velkov
Copy link
Contributor Author

@kristiyan-velkov good job! I left a small comment to simplify the guide for potential readers.

Furthermore, in the GHA Guide, instead of providing the complete action at the beginning of the guide, David posted parts of it explaining in details what each of them does. In my opinion, his approach is better considering readers' knowledge level.

What do you think?

Done!

@kristiyan-velkov
Copy link
Contributor Author

condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main')) We trigger the pipeline for PR too, you may want to move the condition in the Push Docker Image task instead.

Also update the #### Step 4.3 Build the Docker Image with the sbom and attestation. Maybe we could reference the SBOM and attestion doc page: https://docs.docker.com/build/metadata/attestations/slsa-provenance/#:~:text=To%20create%20a%20provenance%20attestation,of%20%2D%2Dattest%20type%3Dprovenance%20. https://docs.docker.com/build/ci/github-actions/attestations/#:~:text=To%20add%20SBOM%20attestations%2C%20set,image%20store%20of%20the%20runner.

Done!

@kristiyan-velkov
Copy link
Contributor Author

Could you please review the code again when you get a chance?
I’d appreciate a second look to ensure everything aligns with the expectations. Thanks!

@kristiyan-velkov I checked the PR again. It definitely became better, but the thing I originally pointed to – the unneeded stages: key is still there. What did you decide about it?

Thanks for checking again!
The stages: key is still there because if someone plans to expand the pipeline later—potentially adding stages for testing, security checks, or deployments.
While it's not required for a single-stage setup, keeping it now avoids a bigger restructure down the line.

@igor-alexandrov
Copy link
Contributor

Testing, security check and deployment can be done in jobs. This is what the official documentation says:

if you have a simple pipeline that builds and tests a small application without requiring separate environments or deployment steps, you can define all the jobs directly without using stages.

My opinion here is that this guide is for beginner level engineers and it should be as simple and clear as possible.

@kristiyan-velkov
Copy link
Contributor Author

Testing, security check and deployment can be done in jobs. This is what the official documentation says:

if you have a simple pipeline that builds and tests a small application without requiring separate environments or deployment steps, you can define all the jobs directly without using stages.

My opinion here is that this guide is for beginner level engineers and it should be as simple and clear as possible.

Good point 🙂
If someone reviewing the PR agrees with that reasoning, I’ll go ahead and make the change.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants