kind: pipeline type: docker name: build steps: - name: start-compose-container image: gitea.bsidesolutions.net/bside-solutions/docker-compose-v2-alpine:latest environment: REGISTRY_USER: from_secret: DOCKER_USERNAME REGISTRY_PASS: from_secret: DOCKER_PASSWORD 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 image: docker environment: SMTP_PROXY_EMAIL: from_secret: SMTP_PROXY_EMAIL SMTP_RECIPIENT_EMAIL: from_secret: SMTP_RECIPIENT_EMAIL SMTP_HOST: from_secret: SMTP_HOST SMTP_PORT: from_secret: SMTP_PORT SMTP_USERNAME: from_secret: SMTP_USERNAME SMTP_PASSWORD: from_secret: SMTP_PASSWORD NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK: from_secret: NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK RECAPTCHA_SECRET_KEY: from_secret: RECAPTCHA_SECRET_KEY NEXT_PUBLIC_RECAPTCHA_SITE_KEY: from_secret: NEXT_PUBLIC_RECAPTCHA_SITE_KEY volumes: - name: docker_sock path: /var/run/docker.sock commands: - export DRONE_SHA=${DRONE_COMMIT_SHA:0:7} - 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 exec -w /home/node/app --env-file .env.drone compose-container docker compose -f ./docker-compose.drone.yaml build # -t oonyeje-portfolio:${DRONE_COMMIT_SHA:0:7} . - docker tag oonyeje-portfolio gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:${DRONE_COMMIT_SHA:0:7} - docker tag oonyeje-portfolio gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:latest - name: push-image image: docker environment: SMTP_PROXY_EMAIL: from_secret: SMTP_PROXY_EMAIL SMTP_RECIPIENT_EMAIL: from_secret: SMTP_RECIPIENT_EMAIL SMTP_HOST: from_secret: SMTP_HOST SMTP_PORT: from_secret: SMTP_PORT SMTP_USERNAME: from_secret: SMTP_USERNAME SMTP_PASSWORD: from_secret: SMTP_PASSWORD NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK: from_secret: NEXT_PUBLIC_GOOGLE_APPOINTMENTS_LINK RECAPTCHA_SECRET_KEY: from_secret: RECAPTCHA_SECRET_KEY NEXT_PUBLIC_RECAPTCHA_SITE_KEY: from_secret: NEXT_PUBLIC_RECAPTCHA_SITE_KEY 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 -w /home/node/app --env-file .env.drone compose-container docker compose -f ./docker-compose.drone.yaml push - docker push gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:${DRONE_COMMIT_SHA:0:7} - docker push gitea.bsidesolutions.net/oonyeje/oonyeje-portfolio:latest - docker container stop compose-container # - name: deploy-staging # image: plugins/ansible:latest # settings: # playbook: ansible/playbook.staging.yml # galaxy: ansible/requirements.yml # inventory: ansible/inventory.yml # become_user: bside # user: bside # verbose: 4 # become: true # list_tasks: true # list_hosts: true # private_key: # from_secret: STAGING_SERVER_PRIVATE_KEY # trigger: # branch: # - master # - prod # - qa # - feature/* # event: # - push # - pull_request # --- # kind: pipeline # type: exec # name: staging-deploy # platform: # os: linux # arch: amd64 # steps: # - name: ansible-deploy # commands: # - ansible --version # - ansible-galaxy install --force --role-file ansible/requirements.yml -vvvv # - ansible-playbook --inventory ansible/inventory.yml --list-hosts ansible/playbook.staging.yml # trigger: # branch: # - master # - prod # - qa # - feature/* # event: # - push # - pull_request volumes: - name: docker_sock host: path: /var/run/docker.sock