Actualiser .gitea/workflows/deploy-verso.yml
Build and Deploy Verso / deploy (push) Has been cancelled
Build and Deploy Verso / deploy (push) Has been cancelled
This commit is contained in:
@@ -10,6 +10,7 @@ env:
|
||||
REPO_URL: https://git.alocoq.fr/alois/verso.git
|
||||
BASE_IMAGE: registry.alocoq.fr/verso-base:latest
|
||||
IMAGE: registry.alocoq.fr/verso:latest
|
||||
SITE_URL: https://verso.example.com
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
@@ -19,7 +20,7 @@ jobs:
|
||||
steps:
|
||||
- name: Build and push Verso images with BuildKit
|
||||
run: |
|
||||
kubectl -n ci delete job verso-buildkit --ignore-not-found=true
|
||||
kubectl -n ci delete job verso-buildkit --ignore-not-found=true --wait=true
|
||||
|
||||
cat <<'EOF' | kubectl apply -f -
|
||||
apiVersion: batch/v1
|
||||
@@ -32,7 +33,6 @@ jobs:
|
||||
template:
|
||||
spec:
|
||||
restartPolicy: Never
|
||||
|
||||
initContainers:
|
||||
- name: prepare
|
||||
image: alpine/git:latest
|
||||
@@ -71,7 +71,6 @@ jobs:
|
||||
--opt filename=Dockerfile \
|
||||
--opt build-arg:OVERLEAF_BASE_TAG=registry.alocoq.fr/verso-base:latest \
|
||||
--output type=image,name=registry.alocoq.fr/verso:latest,push=true
|
||||
|
||||
volumeMounts:
|
||||
- name: workspace
|
||||
mountPath: /workspace
|
||||
@@ -85,7 +84,7 @@ jobs:
|
||||
run: |
|
||||
kubectl -n ci wait --for=condition=complete job/verso-buildkit --timeout=10800s
|
||||
|
||||
- name: Show logs
|
||||
- name: Show build logs
|
||||
if: always()
|
||||
run: |
|
||||
kubectl -n ci logs job/verso-buildkit -c prepare || true
|
||||
@@ -93,8 +92,8 @@ jobs:
|
||||
|
||||
- name: Recreate test dependencies
|
||||
run: |
|
||||
kubectl -n test delete deployment mongo redis --ignore-not-found=true
|
||||
kubectl -n test delete service mongo redis --ignore-not-found=true
|
||||
kubectl -n test delete deployment mongo redis --ignore-not-found=true --wait=true
|
||||
kubectl -n test delete service mongo redis --ignore-not-found=true --wait=true
|
||||
|
||||
cat <<'EOF' | kubectl apply -f -
|
||||
apiVersion: apps/v1
|
||||
@@ -183,8 +182,8 @@ jobs:
|
||||
targetPort: 6379
|
||||
EOF
|
||||
|
||||
kubectl -n test rollout status deployment/mongo
|
||||
kubectl -n test rollout status deployment/redis
|
||||
kubectl -n test rollout status deployment/mongo --timeout=180s
|
||||
kubectl -n test rollout status deployment/redis --timeout=180s
|
||||
|
||||
sleep 5
|
||||
|
||||
@@ -204,16 +203,76 @@ jobs:
|
||||
print("Mongo replica set is PRIMARY")
|
||||
'
|
||||
|
||||
- name: Deploy
|
||||
- name: Ensure Verso deployment exists
|
||||
run: |
|
||||
cat <<'EOF' | kubectl apply -f -
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: verso
|
||||
namespace: test
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: verso
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: verso
|
||||
spec:
|
||||
containers:
|
||||
- name: verso
|
||||
image: registry.alocoq.fr/verso:latest
|
||||
ports:
|
||||
- containerPort: 80
|
||||
env:
|
||||
- name: OVERLEAF_MONGO_URL
|
||||
value: mongodb://mongo:27017/sharelatex?replicaSet=rs0
|
||||
- name: OVERLEAF_REDIS_HOST
|
||||
value: redis
|
||||
- name: REDIS_HOST
|
||||
value: redis
|
||||
- name: OVERLEAF_APP_NAME
|
||||
value: Verso
|
||||
- name: OVERLEAF_SITE_URL
|
||||
value: https://verso.example.com
|
||||
- name: SHARELATEX_SITE_URL
|
||||
value: https://verso.example.com
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: verso
|
||||
namespace: test
|
||||
spec:
|
||||
selector:
|
||||
app: verso
|
||||
ports:
|
||||
- name: http
|
||||
port: 80
|
||||
targetPort: 80
|
||||
EOF
|
||||
|
||||
- name: Deploy Verso image
|
||||
run: |
|
||||
kubectl -n test set image deployment/verso \
|
||||
verso=registry.alocoq.fr/verso:latest
|
||||
|
||||
kubectl -n test set env deployment/verso \
|
||||
OVERLEAF_MONGO_URL='mongodb://mongo:27017/sharelatex?replicaSet=rs0' \
|
||||
OVERLEAF_REDIS_HOST='redis' \
|
||||
REDIS_HOST='redis' \
|
||||
OVERLEAF_APP_NAME='Verso' \
|
||||
OVERLEAF_SITE_URL='https://verso.example.com' \
|
||||
SHARELATEX_SITE_URL='https://verso.example.com'
|
||||
|
||||
kubectl -n test rollout restart deployment/verso
|
||||
kubectl -n test rollout status deployment/verso
|
||||
kubectl -n test rollout status deployment/verso --timeout=300s
|
||||
|
||||
- name: Create admin user
|
||||
run: |
|
||||
sleep 20
|
||||
kubectl -n test exec deploy/verso -- bash -lc '
|
||||
cd /overleaf/services/web
|
||||
node modules/server-ce-scripts/scripts/create-user \
|
||||
@@ -224,4 +283,4 @@ jobs:
|
||||
- name: Cleanup
|
||||
if: always()
|
||||
run: |
|
||||
kubectl -n ci delete job verso-buildkit --ignore-not-found=true
|
||||
kubectl -n ci delete job verso-buildkit --ignore-not-found=true --wait=true
|
||||
Reference in New Issue
Block a user