Một vài điều cần phải xảy ra để điều này hoạt động đúng. Đầu tiên, thêm một deployment
phần vào circle.yml:
deployment:
main: # or whatever your deployment is called
branch: master # or whatever branch you want to deploy
commands:
- docker login -e (your email here) -u (your username here) -p (your password here)
- docker push pgeiss/appname
- ./start.sh
Nhờ bài viết blog này cho các kịch bản sau đây. Sau đó, tạo một tệp có tên start.sh ở cấp cao nhất của kho lưu trữ của bạn (nếu bạn sử dụng một tên khác, thay đổi dòng cuối cùng của circle.yml) có chứa thông tin sau:
#!/usr/bin/env bash
echo "stopping running application"
ssh $DEPLOY_USER@$DEPLOY_HOST 'docker stop dodsv'
ssh $DEPLOY_USER@$DEPLOY_HOST 'docker rm dodsv'
echo "pulling latest version of the code"
ssh $DEPLOY_USER@$DEPLOY_HOST 'docker pull pgeiss/appname-webapp:latest'
echo "starting the new version"
ssh $DEPLOY_USER@$DEPLOY_HOST 'docker run -d --restart=always --name dodsv -p 80:5432 pgeiss/appname:latest'
echo "success!"
exit 0
Cuối cùng, để cho phép tập lệnh hoạt động, bạn cần đặt tập lệnh thành có thể thực thi được chmod
và thêm các biến môi trường và DEPLOY_USER
khóa ssh của bạn (tốt nhất là) hoặc thông tin đăng nhập (nếu không có khóa ssh) thành CircleCI. Sau khi làm điều đó CircleCI sẽ triển khai ứng dụng của bạn sau khi xây dựng thành công.