Configure Gitlab CI for automatic deployment
This commit is contained in:
parent
908979dac2
commit
e849682ab3
2 changed files with 44 additions and 2 deletions
39
.gitlab-ci.yml
Normal file
39
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,39 @@
|
|||
stages:
|
||||
- build
|
||||
- deploy
|
||||
|
||||
image: debian:latest
|
||||
variables:
|
||||
BUILDDIR: "build/"
|
||||
|
||||
build:
|
||||
stage: build
|
||||
before_script:
|
||||
- apt-get update
|
||||
- apt-get install -y make lektor imagemagick
|
||||
script:
|
||||
- make build
|
||||
artifacts:
|
||||
expire_in: 12 hours
|
||||
paths:
|
||||
- "build/"
|
||||
|
||||
deploy:
|
||||
stage: deploy
|
||||
only:
|
||||
- master
|
||||
environment:
|
||||
name: production
|
||||
url: https://ungleich.ch/
|
||||
before_script:
|
||||
# Install dependencies
|
||||
- apt-get update
|
||||
- apt-get install -y make openssh-client rsync
|
||||
# Configure the SSH Agent
|
||||
- eval $(ssh-agent -s)
|
||||
- echo "$CD_SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null
|
||||
- mkdir -p ~/.ssh
|
||||
- echo "$CD_SSH_SERVER_HOSTKEYS" > ~/.ssh/known_hosts
|
||||
- chmod 644 ~/.ssh/known_hosts
|
||||
script:
|
||||
- make deploy
|
7
Makefile
7
Makefile
|
@ -1,4 +1,4 @@
|
|||
BUILDDIR=../ungleich-staticcms-build
|
||||
BUILDDIR?=../ungleich-staticcms-build
|
||||
DESTINATION=ungleichstatic@staticweb.ungleich.ch:/home/services/www/ungleichstatic/staticcms.ungleich.ch/www/u/
|
||||
|
||||
all: publish
|
||||
|
@ -6,9 +6,12 @@ all: publish
|
|||
pull:
|
||||
git pull
|
||||
|
||||
publish: pull build permissions
|
||||
publish: pull build deploy
|
||||
|
||||
deploy: permissions
|
||||
rsync -av --delete --exclude .lektor/ $(BUILDDIR)/u/ $(DESTINATION)
|
||||
rsync -av --delete $(BUILDDIR)/sitemap.xml $(DESTINATION)
|
||||
|
||||
permissions: build
|
||||
find $(BUILDDIR) -type f -exec chmod 0644 {} \;
|
||||
find $(BUILDDIR) -type d -exec chmod 0755 {} \;
|
||||
|
|
Loading…
Reference in a new issue