kind: pipeline type: docker name: build steps: ################################################################################################################################################ ## example of running dind manually in drone # - name: build # image: docker # environment: # REGISTRY_USER: # from_secret: DOCKER_USERNAME # REGISTRY_PASS: # from_secret: DOCKER_PASSWORD # volumes: # - name: docker_sock # path: /var/run/docker.sock # commands: # - export DRONE_SHA=${DRONE_COMMIT_SHA:0:7} # - docker login gitea.bsidesolutions.net --username $REGISTRY_USER --password $REGISTRY_PASS # # - docker exec --env-file .env.drone compose-container mkdir /home/node # # - docker exec --env-file .env.drone compose-container mkdir /home/node/app # # - docker cp . compose-container:/home/node/app # # - docker exec -w /home/node/app --env-file .env.drone compose-container ls # check current directory # - docker build -t gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:${DRONE_COMMIT_SHA:0:7} . # - docker tag gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:${DRONE_COMMIT_SHA:0:7} # - docker tag gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:latest ################################################################################################################################################ - name: Setup Build image: gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine:latest commands: # - docker container stop compose-container - docker container prune -f - docker image prune -f # - docker login gitea.bsidesolutions.net --username $REGISTRY_USER --password $REGISTRY_PASS # - docker pull gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine:latest # - docker run -v /var/run/docker.sock:/var/run/docker.sock --rm -d --name compose-container gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine sleep inf #start container in detached mode # - sleep 5 # give container some time to fully start volumes: - name: docker_sock path: /var/run/docker.sock - name: Build and Push (PR) Container Image image: plugins/docker when: branch: - feature/* settings: username: from_secret: DOCKER_USERNAME password: from_secret: DOCKER_PASSWORD repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio registry: gitea.bsidesolutions.net dockerfile: ./Dockerfile force_tag: true tags: - latest - pr-build-${replace("${DRONE_BRANCH}", "/", "-")} - name: Build and Push (Staging) Container Image image: plugins/docker when: branch: - develop settings: username: from_secret: DOCKER_USERNAME password: from_secret: DOCKER_PASSWORD repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio registry: gitea.bsidesolutions.net dockerfile: ./Dockerfile force_tag: true tags: - latest - dev - dev-${DRONE_COMMIT_SHA:0:10} - name: Build and Push (Production) Container Image image: plugins/docker when: branch: - main settings: username: from_secret: DOCKER_USERNAME password: from_secret: DOCKER_PASSWORD repo: gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio registry: gitea.bsidesolutions.net dockerfile: ./Dockerfile force_tag: true tags: - latest - release - release-${DRONE_COMMIT_SHA:0:10} trigger: branch: - main - develop - feature/* event: include: - push volumes: - name: docker_sock host: path: /var/run/docker.sock