Skip to content

Instantly share code, notes, and snippets.

@taufiqpsumarna
Created July 14, 2022 06:38
Show Gist options
  • Save taufiqpsumarna/58b6f868c1abbd061edf4fa529bb1ce7 to your computer and use it in GitHub Desktop.
Save taufiqpsumarna/58b6f868c1abbd061edf4fa529bb1ce7 to your computer and use it in GitHub Desktop.
GitLab CI CD Tutorial for Beginners [Crash Course] From TechWorld with Nana
variables:
IMAGE_NAME: nanajanashia/demo-app
IMAGE_TAG: python-app-1.0
stages:
- test
- build
- deploy
run_tests:
stage: test
image: python:3.9-slim-buster
before_script:
- apt-get update && apt-get install make
script:
- make test
build_image:
stage: build
image: docker:20.10.16
services:
- docker:20.10.16-dind
variables:
DOCKER_TLS_CERTDIR: "/certs"
before_script:
- docker login -u $REGISTRY_USER -p $REGISTRY_PASS
script:
- docker build -t $IMAGE_NAME:$IMAGE_TAG .
- docker push $IMAGE_NAME:$IMAGE_TAG
deploy:
stage: deploy
before_script:
- chmod 400 $SSH_KEY
script:
- ssh -o StrictHostKeyChecking=no -i $SSH_KEY root@161.35.223.117 "
docker login -u $REGISTRY_USER -p $REGISTRY_PASS &&
docker ps -aq | xargs docker stop | xargs docker rm &&
docker run -d -p 5000:5000 $IMAGE_NAME:$IMAGE_TAG"
#Source https://www.youtube.com/watch?v=qP8kir2GUgo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment