Compare commits

...

3 Commits

Author SHA1 Message Date
250e84d68e Added presencia deploy 2021-11-27 13:59:40 +01:00
8825c20a5c Modified deploy script 2021-10-25 13:22:00 +02:00
bb4875df80 Added rsync deploy 2021-10-25 00:35:57 +02:00
8 changed files with 31 additions and 13 deletions

View File

@@ -14,4 +14,4 @@ Construeix i deploya una web estàtica amb hugo
- GIT_REPO_URL: Url SSH del repositori amb la web
- GIT_SSH_ID_FILE: Clau pública d'accés SSH
- HUGO_PARAMS: Paràmetres extra per a la comanda d'`hugo`
- TARGET_DIR: Directori de destí per construir la pàgina
- TARGET_DIR: Host i directori de destí per construir la pàgina

View File

@@ -1,7 +1,7 @@
FROM klakegg/hugo:alpine-ci
# Install git and ssh
RUN apk add --no-cache git openssh
RUN apk add --no-cache git openssh rsync jq curl
# Install python/pip
ENV PYTHONUNBUFFERED=1

View File

@@ -5,5 +5,5 @@ set -e
docker build . -f deploy/Dockerfile -t webhooks:latest
# PUBLISH
docker tag pasta-server marc.sastre.cat/webhooks:latest
docker tag webhooks marc.sastre.cat/webhooks:latest
docker push marc.sastre.cat/webhooks

View File

@@ -10,4 +10,4 @@ services:
- "6000:6000"
volumes:
- ./test/config.json:/app/config.json
- /home/marc/.ssh/lajuntament:/app/lajuntament
- /home/marc/vatnajokull/nomad_volumes/webhooks/webhooks:/app/lajuntament

View File

@@ -37,7 +37,6 @@ def deploy(user, repo):
except Exception:
response = "Internal Error"
status = 500
raise
return flask.Response(response, status=status)
@@ -53,7 +52,8 @@ def _deploy(user, repo):
raise HttpError(400, f"Configuration not found for {user}/{repo}")
secret = config['secret'].encode('utf-8')
signature = hmac.new(secret, flask.request.data, hashlib.sha256).hexdigest()
signature = hmac.new(secret, flask.request.data,
hashlib.sha256).hexdigest()
h_signature = flask.request.headers.get('X-Gitea-Signature')
if h_signature != signature:

View File

@@ -1,5 +1,5 @@
#!/bin/sh
set -e
set -xe
echo "Deploying for $GIT_REPO_URL"
@@ -7,8 +7,9 @@ CONTENT_DIR=$(mktemp -d -t ci-XXXXXXXXXX)
echo "Working directory: ${CONTENT_DIR}"
mkdir -p ${CONTENT_DIR}
GIT_SSH_COMMAND="ssh -oStrictHostKeyChecking=no -i ${GIT_SSH_ID_FILE}" git clone ${GIT_REPO_URL} ${CONTENT_DIR}
GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -i ${GIT_SSH_ID_FILE}" git clone --recurse-submodules ${GIT_REPO_URL} ${CONTENT_DIR}
# mkdir -p ${TARGET_DIR}
cd ${CONTENT_DIR} && hugo ${HUGO_PARAMS} --destination ${TARGET_DIR}
cd ${CONTENT_DIR}
HUGO_DESTINATION=public hugo ${HUGO_PARAMS}
rsync -Pav -e "ssh -o StrictHostKeyChecking=no -i ${GIT_SSH_ID_FILE}" public/* ${TARGET_DIR}
rm -rf ${CONTENT_DIR}

View File

@@ -0,0 +1,17 @@
#!/bin/sh
set -xe
echo "Deploying for $GIT_REPO_URL"
CONTENT_DIR=$(mktemp -d -t ci-XXXXXXXXXX)
echo "Working directory: ${CONTENT_DIR}"
mkdir -p ${CONTENT_DIR}
GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no -i ${GIT_SSH_ID_FILE}" git clone --recurse-submodules ${GIT_REPO_URL} ${CONTENT_DIR}
cd ${CONTENT_DIR}
./deploy/publish.sh
curl $NOMAD_ADDR/v1/job/$JOB_NAME | jq '.TaskGroups[0].Count = 0 | {"Job": .}' | curl -X POST -d @- $NOMAD_ADDR/v1/job/$JOB_NAME
sleep 5
curl $NOMAD_ADDR/v1/job/$JOB_NAME | jq '.TaskGroups[0].Count = 1 | {"Job": .}' | curl -X POST -d @- $NOMAD_ADDR/v1/job/$JOB_NAME

View File

@@ -2,12 +2,12 @@
"lajuntament": {
"test": {
"secret": "elsecret",
"deploy_script": "./scripts/deploy_hugo.sh",
"deploy_script": "/app/scripts/deploy_hugo.sh",
"env": {
"GIT_REPO_URL": "ssh://git@git.lajuntament.space:2222/lajuntament/web.git",
"GIT_SSH_ID_FILE": "/app/lajuntament",
"GIT_SSH_ID_FILE": "/app/data/webhooks",
"HUGO_PARAMS": "",
"TARGET_DIRECTORY": "public"
"TARGET_DIR": "nfs@vatnajokull:/mnt/raid1/sites/lajuntament-web"
}
}
}