All checks were successful
Build and Push Image / build-and-push (push) Successful in 6m21s
47 lines
1.5 KiB
YAML
47 lines
1.5 KiB
YAML
pipeline:
|
|
build-and-push:
|
|
image: plugins/docker
|
|
settings:
|
|
dockerfile: AobaServer/Dockerfile
|
|
context: .
|
|
repo: git.kaisei.app/amatsugu/aoba
|
|
tags: latest
|
|
username:
|
|
from_secret: docker_user
|
|
password:
|
|
from_secret: docker_pass
|
|
|
|
deploy:
|
|
image: appleboy/ssh
|
|
settings:
|
|
host: your-app-host.internal
|
|
username: deploy
|
|
key:
|
|
from_secret: ssh_key
|
|
port: 22
|
|
script:
|
|
- docker pull git.kaisei.app/amatsugu/aoba:latest
|
|
|
|
# Run temporary container on docker network, no port binding
|
|
- docker run -d --rm \
|
|
--name aoba-temp \
|
|
--network aoba-net \
|
|
git.kaisei.app/amatsugu/aoba:latest
|
|
|
|
# Wait for it to become healthy
|
|
- sleep 3
|
|
- curl -f http://aoba-temp:8080 --connect-timeout 2 || (echo "Health check failed" && docker stop aoba-temp && exit 1)
|
|
|
|
# Stop old container (bound to host port)
|
|
- docker stop aoba || true
|
|
|
|
# Start new container on network and bind to host port 8080
|
|
- docker run -d --rm \
|
|
--name aoba \
|
|
--network aoba-net \
|
|
-p 9432:8080 \
|
|
git.kaisei.app/amatsugu/aoba:latest
|
|
|
|
# Stop temp container
|
|
- docker stop aoba-temp || true
|