Automating Devops With Gitlab Ci/cd Pipelines Read Online Portable May 2026
build: stage: build-image image: docker:20.10.16 services: - docker:20.10.16-dind script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - docker build -t $IMAGE_TAG . - docker push $IMAGE_TAG only: - main
variables: DOCKER_REGISTRY: registry.gitlab.com APP_NAME: myapp job: script: - docker build -t $DOCKER_REGISTRY/$APP_NAME .
curl --request POST --form "token=$CI_JOB_TOKEN" --form "ref=main" "https://gitlab.com/api/v4/projects/123/trigger/pipeline" This allows external systems (monitoring, chatops) to start pipelines. DevOps automation must include security. GitLab provides native security scanning. SAST (Static Application Security Testing) Add to your pipeline: automating devops with gitlab ci/cd pipelines read online
test_job: stage: test script: - npm run test
container_scan: stage: scan image: docker:latest script: - docker run --rm $IMAGE_TAG trivy image $IMAGE_TAG build: stage: build-image image: docker:20
Now every commit to main automatically builds, tags, scans, and pushes a Docker image. CI/CD isn't just about deployment; it's about confidence . GitLab automates multiple testing layers. 5.1 Unit Tests & Coverage unit_tests: stage: test script: - pytest --cov=myapp tests/ coverage: '/TOTAL.+ ([0-9]1,3%)/' artifacts: reports: coverage_report: coverage_format: cobertura path: coverage.xml 5.2 Linting & Static Analysis lint: stage: test script: - flake8 myapp/ - black --check myapp/ 5.3 Merge Request Pipelines Enable pipelines for merge requests. Add:
Introduction: The Shift from Manual to Automated DevOps In the early days of software development, deploying code was a manual, nerve-wracking affair. System administrators would SSH into servers, pull code from repositories, run build commands, and restart services. This process was error-prone, slow, and unscalable. DevOps automation must include security
include: - template: Security/Secret-Detection.gitlab-ci.yml These security jobs run automatically, enforcing "shift-left" security. Environments Track deployments by defining environments: