5858 name : Testing
5959 url : https://api.test.profcomff.com/userdata
6060 env :
61- CONTAINER_NAME : com_profcomff_api_userdata_test
61+ API_CONTAINER_NAME : com_profcomff_api_userdata_test
62+ WORKER_CONTAINER_NAME : com_profcomff_worker_userdata_test
6263 permissions :
6364 packages : read
6465
@@ -72,25 +73,43 @@ jobs:
7273 --rm \
7374 --network=web \
7475 --env DB_DSN=${{ secrets.DB_DSN }} \
75- --name ${{ env.CONTAINER_NAME }}_migration \
76+ --name ${{ env.API_CONTAINER_NAME }}_migration \
7677 --workdir="/" \
7778 ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:test \
7879 alembic upgrade head
7980
80- - name : Run new version
81- id : run_prod
81+ - name : Run new version API
82+ id : run_test_api
8283 run : |
83- docker stop ${{ env.CONTAINER_NAME }} || true && docker rm ${{ env.CONTAINER_NAME }} || true
84+ docker stop ${{ env.API_CONTAINER_NAME }} || true && docker rm ${{ env.API_CONTAINER_NAME }} || true
8485 docker run \
8586 --detach \
8687 --restart always \
8788 --network=web \
8889 --env DB_DSN='${{ secrets.DB_DSN }}' \
8990 --env ROOT_PATH='/userdata' \
9091 --env GUNICORN_CMD_ARGS='--log-config logging_test.conf' \
91- --name ${{ env.CONTAINER_NAME }} \
92+ --name ${{ env.API_CONTAINER_NAME }} \
9293 ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:test
9394
95+ - name : Run new version worker
96+ id : run_test_worker
97+ run : |
98+ docker stop ${{ env.WORKER_CONTAINER_NAME }} || true && docker rm ${{ env.WORKER_CONTAINER_NAME }} || true
99+ docker run \
100+ --detach \
101+ --restart always \
102+ --network=web \
103+ --env DB_DSN='${{ secrets.DB_DSN }}' \
104+ --env KAFKA_DSN='${{ secrets.KAFKA_DSN }}' \
105+ --env KAFKA_LOGIN='${{ secrets.KAFKA_LOGIN }}' \
106+ --env KAFKA_PASSWORD='${{ secrets.KAFKA_PASSWORD }}' \
107+ --env KAFKA_GROUP_ID='${{ vars.KAFKA_GROUP_ID }}' \
108+ --env KAFKA_TOPICS='${{ vars.KAFKA_TOPICS }}' \
109+ --name ${{ env.WORKER_CONTAINER_NAME }} \
110+ ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:test python -m userdata_api start --instance worker
111+
112+
94113 deploy-production :
95114 name : Deploy Production
96115 needs : build-and-push-image
@@ -100,7 +119,8 @@ jobs:
100119 name : Production
101120 url : https://api.profcomff.com/userdata
102121 env :
103- CONTAINER_NAME : com_profcomff_api_userdata
122+ API_CONTAINER_NAME : com_profcomff_api_userdata
123+ WORKER_CONTAINER_NAME : com_profcomff_worker_userdata
104124 permissions :
105125 packages : read
106126
@@ -114,21 +134,38 @@ jobs:
114134 --rm \
115135 --network=web \
116136 --env DB_DSN=${{ secrets.DB_DSN }} \
117- --name ${{ env.CONTAINER_NAME }}_migration \
137+ --name ${{ env.API_CONTAINER_NAME }}_migration \
118138 --workdir="/" \
119139 ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest \
120140 alembic upgrade head
121141
122- - name : Run new version
123- id : run_test
142+ - name : Run new version API
143+ id : run_prod_api
124144 run : |
125- docker stop ${{ env.CONTAINER_NAME }} || true && docker rm ${{ env.CONTAINER_NAME }} || true
145+ docker stop ${{ env.API_CONTAINER_NAME }} || true && docker rm ${{ env.API_CONTAINER_NAME }} || true
126146 docker run \
127147 --detach \
128148 --restart always \
129149 --network=web \
130150 --env DB_DSN='${{ secrets.DB_DSN }}' \
131151 --env ROOT_PATH='/userdata' \
132152 --env GUNICORN_CMD_ARGS='--log-config logging_prod.conf' \
133- --name ${{ env.CONTAINER_NAME }} \
153+ --name ${{ env.API_CONTAINER_NAME }} \
134154 ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
155+
156+ - name : Run new version worker
157+ id : run_prod_worker
158+ run : |
159+ docker stop ${{ env.WORKER_CONTAINER_NAME }} || true && docker rm ${{ env.WORKER_CONTAINER_NAME }} || true
160+ docker run \
161+ --detach \
162+ --restart always \
163+ --network=web \
164+ --env DB_DSN='${{ secrets.DB_DSN }}' \
165+ --env KAFKA_DSN='${{ secrets.KAFKA_DSN }}' \
166+ --env KAFKA_LOGIN='${{ secrets.KAFKA_LOGIN }}' \
167+ --env KAFKA_PASSWORD='${{ secrets.KAFKA_PASSWORD }}' \
168+ --env KAFKA_GROUP_ID='${{ vars.KAFKA_GROUP_ID }}' \
169+ --env KAFKA_TOPICS='${{ vars.KAFKA_TOPICS }}' \
170+ --name ${{ env.WORKER_CONTAINER_NAME }} \
171+ ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest python -m userdata_api start --instance worker
0 commit comments