kind: pipeline type: docker name: server_build_and_test trigger: branch: - main event: - push steps: - name: build_server image: node commands: - npm ci -w @calchat/shared - npm ci -w @calchat/server - npm run build -w @calchat/server - name: jest_server image: node commands: - npm run test -w @calchat/server --- kind: pipeline type: docker name: check_for_formatting trigger: branch: - main event: - push steps: - name: format_check image: node commands: - npm ci - npm run check_format --- kind: pipeline type: docker name: deploy_latest trigger: branch: - main event: - push steps: - name: upload_latest image: plugins/docker settings: registry: gitea.gilmour109.de repo: gitea.gilmour109.de/gilmour109/calchat-server dockerfile: apps/server/docker/Dockerfile tags: - latest username: from_secret: gitea_username password: from_secret: gitea_password - name: deploy_to_vps image: appleboy/drone-ssh settings: host: - 10.0.0.1 username: root password: from_secret: vps_ssh_password envs: - gitea_username - gitea_password port: 22 command_timeout: 10m script: - docker login -u $GITEA_USERNAME -p $GITEA_PASSWORD gitea.gilmour109.de - docker pull gitea.gilmour109.de/gilmour109/calchat-server:latest - docker compose -f /root/calchat-mongo/docker-compose.yml up -d depends_on: - server_build_and_test - check_for_formatting --- kind: pipeline type: docker name: upload_tag trigger: event: - tag steps: - name: upload_tag image: plugins/docker settings: registry: gitea.gilmour109.de repo: gitea.gilmour109.de/gilmour109/calchat-server dockerfile: apps/server/docker/Dockerfile tags: - ${DRONE_TAG} username: from_secret: gitea_username password: from_secret: gitea_password - name: deploy_to_k3s image: appleboy/drone-ssh settings: host: - 192.168.178.201 username: debian password: from_secret: k3s_ssh_password envs: - drone_tag - drone_commit_sha port: 22 command_timeout: 10m script: - export TAG=$DRONE_TAG - export NAME=$(echo $DRONE_TAG | tr -d '.') - export COMMIT=$DRONE_COMMIT_SHA - envsubst < /home/debian/manifest.yml | sudo kubectl apply -f - --- kind: pipeline type: docker name: upload_commit trigger: event: - promote steps: - name: upload_commit image: plugins/docker settings: registry: gitea.gilmour109.de repo: gitea.gilmour109.de/gilmour109/calchat-server dockerfile: apps/server/docker/Dockerfile tags: - ${DRONE_COMMIT_SHA:0:8} username: from_secret: gitea_username password: from_secret: gitea_password - name: deploy_to_k3s image: appleboy/drone-ssh settings: host: - 192.168.178.201 username: debian password: from_secret: k3s_ssh_password envs: - drone_commit_sha port: 22 command_timeout: 10m script: - export TAG=$(echo $DRONE_COMMIT_SHA | cut -c1-8) - export NAME=$TAG - export COMMIT=$DRONE_COMMIT_SHA - envsubst < /home/debian/manifest.yml | sudo kubectl apply -f -