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 # 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: docker-build image: plugins/docker 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 - ${DRONE_COMMIT_SHA:0:7} - 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 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