master #36
@ -5,20 +5,24 @@ services:
|
|||||||
nginx:
|
nginx:
|
||||||
image: mathwave/sprint-repo:sprint-infra-nginx-dev
|
image: mathwave/sprint-repo:sprint-infra-nginx-dev
|
||||||
networks:
|
networks:
|
||||||
- common-infra-nginx
|
- common-infra-nginx-development
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- published: 80
|
||||||
- "443:443"
|
target: 80
|
||||||
|
mode: host
|
||||||
|
- published: 443
|
||||||
|
target: 443
|
||||||
|
mode: host
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
replicas: 1
|
replicas: 1
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == development]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
# order: stop-first
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:14-alpine3.19
|
image: postgres:14-alpine3.19
|
||||||
@ -33,13 +37,15 @@ services:
|
|||||||
start_period: 20s
|
start_period: 20s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
ports:
|
ports:
|
||||||
- "5432:5432"
|
- published: 5432
|
||||||
|
target: 5432
|
||||||
|
mode: host
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == development]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -52,13 +58,15 @@ services:
|
|||||||
MONGO_INITDB_ROOT_USERNAME: mongo
|
MONGO_INITDB_ROOT_USERNAME: mongo
|
||||||
MONGO_INITDB_ROOT_PASSWORD: $MONGO_PASSWORD_DEV
|
MONGO_INITDB_ROOT_PASSWORD: $MONGO_PASSWORD_DEV
|
||||||
ports:
|
ports:
|
||||||
- "27017:27017"
|
- published: 27017
|
||||||
|
target: 27017
|
||||||
|
mode: host
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == development]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -68,8 +76,12 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /sprint-data/rabbitmq:/var/lib/rabbitmq
|
- /sprint-data/rabbitmq:/var/lib/rabbitmq
|
||||||
ports:
|
ports:
|
||||||
- "5672:5672"
|
- published: 5672
|
||||||
- "15672:15672"
|
target: 5672
|
||||||
|
mode: host
|
||||||
|
- published: 15672
|
||||||
|
target: 15672
|
||||||
|
mode: host
|
||||||
environment:
|
environment:
|
||||||
RABBITMQ_DEFAULT_PASS: $RABBITMQ_PASSWORD_DEV
|
RABBITMQ_DEFAULT_PASS: $RABBITMQ_PASSWORD_DEV
|
||||||
deploy:
|
deploy:
|
||||||
@ -77,7 +89,7 @@ services:
|
|||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == development]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -87,14 +99,16 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /sprint-data/redis:/data
|
- /sprint-data/redis:/data
|
||||||
ports:
|
ports:
|
||||||
- "6379:6379"
|
- published: 6379
|
||||||
|
target: 6379
|
||||||
|
mode: host
|
||||||
command: redis-server --requirepass $REDIS_PASSWORD_DEV
|
command: redis-server --requirepass $REDIS_PASSWORD_DEV
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == development]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -107,12 +121,16 @@ services:
|
|||||||
MINIO_ROOT_USER: minioadmin
|
MINIO_ROOT_USER: minioadmin
|
||||||
MINIO_ROOT_PASSWORD: $MINIO_PASSWORD_DEV
|
MINIO_ROOT_PASSWORD: $MINIO_PASSWORD_DEV
|
||||||
ports:
|
ports:
|
||||||
- "9000:9000"
|
- published: 9000
|
||||||
- "9001:9001"
|
target: 9000
|
||||||
|
mode: host
|
||||||
|
- published: 9001
|
||||||
|
target: 9001
|
||||||
|
mode: host
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == development]
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
update_config:
|
update_config:
|
||||||
@ -132,7 +150,7 @@ services:
|
|||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == development]
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
update_config:
|
update_config:
|
||||||
@ -144,7 +162,5 @@ volumes:
|
|||||||
driver: local
|
driver: local
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
net:
|
common-infra-nginx-development:
|
||||||
driver: overlay
|
|
||||||
common-infra-nginx:
|
|
||||||
external: true
|
external: true
|
||||||
|
@ -7,18 +7,22 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- common-infra-nginx
|
- common-infra-nginx
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- published: 80
|
||||||
- "443:443"
|
target: 80
|
||||||
|
mode: host
|
||||||
|
- published: 443
|
||||||
|
target: 443
|
||||||
|
mode: host
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
replicas: 1
|
replicas: 1
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == production]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
# order: start-first
|
||||||
|
|
||||||
postgres:
|
postgres:
|
||||||
image: postgres:14-alpine3.19
|
image: postgres:14-alpine3.19
|
||||||
@ -33,13 +37,15 @@ services:
|
|||||||
start_period: 20s
|
start_period: 20s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
ports:
|
ports:
|
||||||
- "5432:5432"
|
- published: 5432
|
||||||
|
target: 5432
|
||||||
|
mode: host
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == production]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -57,13 +63,15 @@ services:
|
|||||||
MONGO_INITDB_ROOT_USERNAME: mongo
|
MONGO_INITDB_ROOT_USERNAME: mongo
|
||||||
MONGO_INITDB_ROOT_PASSWORD: $MONGO_PASSWORD_PROD
|
MONGO_INITDB_ROOT_PASSWORD: $MONGO_PASSWORD_PROD
|
||||||
ports:
|
ports:
|
||||||
- "27017:27017"
|
- published: 27017
|
||||||
|
target: 27017
|
||||||
|
mode: host
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == production]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -73,8 +81,12 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /sprint-data/rabbitmq:/var/lib/rabbitmq
|
- /sprint-data/rabbitmq:/var/lib/rabbitmq
|
||||||
ports:
|
ports:
|
||||||
- "5672:5672"
|
- published: 5672
|
||||||
- "15672:15672"
|
target: 5672
|
||||||
|
mode: host
|
||||||
|
- published: 15672
|
||||||
|
target: 15672
|
||||||
|
mode: host
|
||||||
environment:
|
environment:
|
||||||
RABBITMQ_DEFAULT_PASS: $RABBITMQ_PASSWORD_PROD
|
RABBITMQ_DEFAULT_PASS: $RABBITMQ_PASSWORD_PROD
|
||||||
deploy:
|
deploy:
|
||||||
@ -82,7 +94,7 @@ services:
|
|||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == production]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -92,14 +104,16 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /sprint-data/redis:/data
|
- /sprint-data/redis:/data
|
||||||
ports:
|
ports:
|
||||||
- "6379:6379"
|
- published: 6379
|
||||||
|
target: 6379
|
||||||
|
mode: host
|
||||||
command: redis-server --requirepass $REDIS_PASSWORD_PROD
|
command: redis-server --requirepass $REDIS_PASSWORD_PROD
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == production]
|
||||||
update_config:
|
update_config:
|
||||||
parallelism: 1
|
parallelism: 1
|
||||||
order: start-first
|
order: start-first
|
||||||
@ -112,12 +126,16 @@ services:
|
|||||||
MINIO_ROOT_USER: minioadmin
|
MINIO_ROOT_USER: minioadmin
|
||||||
MINIO_ROOT_PASSWORD: $MINIO_PASSWORD_PROD
|
MINIO_ROOT_PASSWORD: $MINIO_PASSWORD_PROD
|
||||||
ports:
|
ports:
|
||||||
- "9000:9000"
|
- published: 9000
|
||||||
- "9001:9001"
|
target: 9000
|
||||||
|
mode: host
|
||||||
|
- published: 9001
|
||||||
|
target: 9001
|
||||||
|
mode: host
|
||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == production]
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
update_config:
|
update_config:
|
||||||
@ -144,7 +162,7 @@ services:
|
|||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == production]
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
update_config:
|
update_config:
|
||||||
@ -164,7 +182,7 @@ services:
|
|||||||
deploy:
|
deploy:
|
||||||
mode: replicated
|
mode: replicated
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == production]
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: any
|
condition: any
|
||||||
update_config:
|
update_config:
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
version: '3.2'
|
|
||||||
|
|
||||||
services:
|
|
||||||
agent:
|
|
||||||
image: portainer/agent:2.11.1
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
- /var/lib/docker/volumes:/var/lib/docker/volumes
|
|
||||||
networks:
|
|
||||||
- agent_network
|
|
||||||
deploy:
|
|
||||||
mode: global
|
|
||||||
placement:
|
|
||||||
constraints: [node.platform.os == linux]
|
|
||||||
|
|
||||||
portainer:
|
|
||||||
image: portainer/portainer-ce:2.11.1
|
|
||||||
command: -H tcp://tasks.agent:9001 --tlsskipverify
|
|
||||||
ports:
|
|
||||||
- "9443:9443"
|
|
||||||
- "8888:9000"
|
|
||||||
- "8000:8000"
|
|
||||||
volumes:
|
|
||||||
- portainer_data:/data
|
|
||||||
networks:
|
|
||||||
- agent_network
|
|
||||||
deploy:
|
|
||||||
mode: replicated
|
|
||||||
replicas: 1
|
|
||||||
placement:
|
|
||||||
constraints: [node.role == manager]
|
|
||||||
|
|
||||||
networks:
|
|
||||||
agent_network:
|
|
||||||
driver: overlay
|
|
||||||
attachable: true
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
portainer_data:
|
|
@ -28,7 +28,7 @@ services:
|
|||||||
mode: replicated
|
mode: replicated
|
||||||
replicas: 1
|
replicas: 1
|
||||||
placement:
|
placement:
|
||||||
constraints: [node.role == manager]
|
constraints: [node.labels.stage == production]
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
agent_network:
|
agent_network:
|
||||||
|
@ -1,71 +0,0 @@
|
|||||||
version: '3.3'
|
|
||||||
|
|
||||||
services:
|
|
||||||
app:
|
|
||||||
image: swarmpit/swarmpit:latest
|
|
||||||
environment:
|
|
||||||
- SWARMPIT_DB=http://db:5984
|
|
||||||
- SWARMPIT_INFLUXDB=http://influxdb:8086
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "curl", "-f", "http://localhost:8080"]
|
|
||||||
interval: 60s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
networks:
|
|
||||||
- net
|
|
||||||
ports:
|
|
||||||
- "888:8080"
|
|
||||||
deploy:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
memory: 1024M
|
|
||||||
reservations:
|
|
||||||
memory: 512M
|
|
||||||
placement:
|
|
||||||
constraints:
|
|
||||||
- node.role == manager
|
|
||||||
db:
|
|
||||||
image: treehouses/couchdb:2.3.1
|
|
||||||
networks:
|
|
||||||
- net
|
|
||||||
deploy:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
memory: 256M
|
|
||||||
reservations:
|
|
||||||
memory: 128M
|
|
||||||
|
|
||||||
influxdb:
|
|
||||||
image: influxdb:1.7
|
|
||||||
networks:
|
|
||||||
- net
|
|
||||||
deploy:
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
memory: 256M
|
|
||||||
reservations:
|
|
||||||
memory: 128M
|
|
||||||
|
|
||||||
agent:
|
|
||||||
image: swarmpit/agent:latest
|
|
||||||
environment:
|
|
||||||
- DOCKER_API_VERSION=1.35
|
|
||||||
volumes:
|
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
||||||
networks:
|
|
||||||
- net
|
|
||||||
deploy:
|
|
||||||
mode: global
|
|
||||||
labels:
|
|
||||||
swarmpit.agent: 'true'
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
memory: 64M
|
|
||||||
reservations:
|
|
||||||
memory: 32M
|
|
||||||
|
|
||||||
networks:
|
|
||||||
net:
|
|
||||||
driver: overlay
|
|
@ -24,8 +24,8 @@ services:
|
|||||||
reservations:
|
reservations:
|
||||||
memory: 512M
|
memory: 512M
|
||||||
placement:
|
placement:
|
||||||
constraints:
|
constraints: [node.labels.stage == production]
|
||||||
- node.role == manager
|
|
||||||
db:
|
db:
|
||||||
image: treehouses/couchdb:2.3.1
|
image: treehouses/couchdb:2.3.1
|
||||||
networks:
|
networks:
|
||||||
|
@ -9,7 +9,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Build
|
name: Build
|
||||||
runs-on: [ dev ]
|
runs-on: [ prod ]
|
||||||
steps:
|
steps:
|
||||||
- name: login
|
- name: login
|
||||||
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
@ -23,15 +23,15 @@ jobs:
|
|||||||
run: docker build -t mathwave/sprint-repo:gitea-runner gitea-runner
|
run: docker build -t mathwave/sprint-repo:gitea-runner gitea-runner
|
||||||
push:
|
push:
|
||||||
name: Push
|
name: Push
|
||||||
runs-on: [ dev ]
|
runs-on: [ prod ]
|
||||||
needs: build
|
needs: build
|
||||||
steps:
|
steps:
|
||||||
- name: push nginx dev
|
- name: push nginx dev
|
||||||
run: docker push mathwave/sprint-repo:sprint-infra-nginx-dev
|
run: docker push mathwave/sprint-repo:sprint-infra-nginx-dev
|
||||||
- name: push gitea runner
|
- name: push gitea runner
|
||||||
run: docker push mathwave/sprint-repo:gitea-runner
|
run: docker push mathwave/sprint-repo:gitea-runner
|
||||||
deploy-dev:
|
prepare:
|
||||||
name: Deploy dev
|
name: prepare
|
||||||
runs-on: [dev]
|
runs-on: [dev]
|
||||||
needs: push
|
needs: push
|
||||||
steps:
|
steps:
|
||||||
@ -42,11 +42,18 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
ref: dev
|
ref: dev
|
||||||
- name: prepare
|
- name: prepare
|
||||||
run: chmod 777 ./run.sh && ./run.sh
|
run: chmod 777 ./prepare/run-development.sh && ./prepare/run-development.sh
|
||||||
- name: deploy swarmpit
|
deploy-dev:
|
||||||
run: docker stack deploy --with-registry-auth -c ./.deploy-swarmpit/deploy-dev.yaml swarmpit
|
name: Deploy dev
|
||||||
- name: deploy portainer
|
runs-on: [prod]
|
||||||
run: docker stack deploy --with-registry-auth -c ./.deploy-portainer/deploy-dev.yaml portainer
|
needs: prepare
|
||||||
|
steps:
|
||||||
|
- name: login
|
||||||
|
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: dev
|
||||||
- name: deploy infra
|
- name: deploy infra
|
||||||
env:
|
env:
|
||||||
MONGO_PASSWORD_DEV: ${{ secrets.MONGO_PASSWORD_DEV }}
|
MONGO_PASSWORD_DEV: ${{ secrets.MONGO_PASSWORD_DEV }}
|
||||||
@ -55,4 +62,4 @@ jobs:
|
|||||||
REDIS_PASSWORD_DEV: ${{ secrets.REDIS_PASSWORD_DEV }}
|
REDIS_PASSWORD_DEV: ${{ secrets.REDIS_PASSWORD_DEV }}
|
||||||
RABBITMQ_PASSWORD_DEV: ${{ secrets.RABBITMQ_PASSWORD_DEV }}
|
RABBITMQ_PASSWORD_DEV: ${{ secrets.RABBITMQ_PASSWORD_DEV }}
|
||||||
REGISTRATION_TOKEN: ${{ secrets.REGISTRATION_TOKEN }}
|
REGISTRATION_TOKEN: ${{ secrets.REGISTRATION_TOKEN }}
|
||||||
run: docker stack deploy --with-registry-auth -c ./.deploy-infra/deploy-dev.yaml infra
|
run: docker stack deploy --with-registry-auth -c ./.deploy-infra/deploy-dev.yaml infra-development
|
||||||
|
@ -9,7 +9,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Build
|
name: Build
|
||||||
runs-on: [ dev ]
|
runs-on: [ prod ]
|
||||||
steps:
|
steps:
|
||||||
- name: login
|
- name: login
|
||||||
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
@ -23,13 +23,26 @@ jobs:
|
|||||||
run: docker build -t mathwave/sprint-repo:gitea-runner gitea-runner
|
run: docker build -t mathwave/sprint-repo:gitea-runner gitea-runner
|
||||||
push:
|
push:
|
||||||
name: Push
|
name: Push
|
||||||
runs-on: [ dev ]
|
runs-on: [ prod ]
|
||||||
needs: build
|
needs: build
|
||||||
steps:
|
steps:
|
||||||
- name: push nginx prod
|
- name: push nginx prod
|
||||||
run: docker push mathwave/sprint-repo:sprint-infra-nginx-prod
|
run: docker push mathwave/sprint-repo:sprint-infra-nginx-prod
|
||||||
- name: push gitea runner
|
- name: push gitea runner
|
||||||
run: docker push mathwave/sprint-repo:gitea-runner
|
run: docker push mathwave/sprint-repo:gitea-runner
|
||||||
|
prepare:
|
||||||
|
name: prepare
|
||||||
|
runs-on: [prod]
|
||||||
|
needs: push
|
||||||
|
steps:
|
||||||
|
- name: login
|
||||||
|
run: docker login -u mathwave -p ${{ secrets.DOCKERHUB_PASSWORD }}
|
||||||
|
- name: checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: dev
|
||||||
|
- name: prepare
|
||||||
|
run: chmod 777 ./prepare/run-production.sh && ./prepare/run-production.sh
|
||||||
deploy-prod:
|
deploy-prod:
|
||||||
name: Deploy prod
|
name: Deploy prod
|
||||||
runs-on: [prod]
|
runs-on: [prod]
|
||||||
@ -41,8 +54,6 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
ref: prod
|
ref: prod
|
||||||
- name: prepare
|
|
||||||
run: chmod 777 ./run.sh && ./run.sh
|
|
||||||
- name: deploy swarmpit
|
- name: deploy swarmpit
|
||||||
run: docker stack deploy --with-registry-auth -c ./.deploy-swarmpit/deploy-prod.yaml swarmpit
|
run: docker stack deploy --with-registry-auth -c ./.deploy-swarmpit/deploy-prod.yaml swarmpit
|
||||||
- name: deploy portainer
|
- name: deploy portainer
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
FROM gitlab/gitlab-runner
|
|
||||||
|
|
||||||
|
|
||||||
RUN apt-get update
|
|
||||||
RUN apt-get install --yes ca-certificates curl gnupg lsb-release
|
|
||||||
RUN mkdir -p /etc/apt/keyrings
|
|
||||||
RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
||||||
RUN echo \
|
|
||||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
|
||||||
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
|
|
||||||
RUN apt-get update --yes
|
|
||||||
RUN apt-get install --yes docker-ce docker-ce-cli containerd.io docker-compose-plugin
|
|
||||||
RUN mkdir /etc/builds/
|
|
||||||
RUN chmod 777 /etc/builds
|
|
9
prepare/run-development.sh
Normal file
9
prepare/run-development.sh
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
docker login -u mathwave -p $DOCKERHUB_PASSWORD
|
||||||
|
mkdir /sprint-data/mongo || true
|
||||||
|
mkdir /sprint-data/redis || true
|
||||||
|
mkdir /sprint-data/rabbitmq || true
|
||||||
|
mkdir /sprint-data/certs || true
|
||||||
|
mkdir /sprint-data/gitea || true
|
||||||
|
chmod 777 /sprint-data/redis
|
||||||
|
chmod 777 /sprint-data/rabbitmq
|
||||||
|
chmod 777 /sprint-data/gitea
|
@ -1,7 +1,11 @@
|
|||||||
docker login -u mathwave -p $DOCKERHUB_PASSWORD
|
docker login -u mathwave -p $DOCKERHUB_PASSWORD
|
||||||
docker network create -d overlay --attachable swarmpit-nginx || true
|
docker network create -d overlay --attachable swarmpit-nginx || true
|
||||||
docker network create -d overlay --attachable common-infra-nginx || true
|
docker network create -d overlay --attachable common-infra-nginx || true
|
||||||
|
docker network create -d overlay --attachable common-infra-nginx-development || true
|
||||||
docker network create -d overlay --attachable queues || true
|
docker network create -d overlay --attachable queues || true
|
||||||
|
docker network create -d overlay --attachable queues-development || true
|
||||||
|
docker network create -d overlay --attachable configurator || true
|
||||||
|
docker network create -d overlay --attachable configurator-development || true
|
||||||
mkdir /sprint-data/mongo || true
|
mkdir /sprint-data/mongo || true
|
||||||
mkdir /sprint-data/redis || true
|
mkdir /sprint-data/redis || true
|
||||||
mkdir /sprint-data/rabbitmq || true
|
mkdir /sprint-data/rabbitmq || true
|
Loading…
Reference in New Issue
Block a user