Add minimal CI configuration
This commit is contained in:
parent
e43deea443
commit
7859cd229a
2 changed files with 42 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
|
5
Makefile
5
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/
|
DESTINATION=ungleichstatic@staticweb.ungleich.ch:/home/services/www/ungleichstatic/staticcms.ungleich.ch/www/u/
|
||||||
|
|
||||||
all: publish
|
all: publish
|
||||||
|
@ -6,9 +6,10 @@ all: publish
|
||||||
pull:
|
pull:
|
||||||
git pull
|
git pull
|
||||||
|
|
||||||
publish: pull build permissions
|
publish: permissions
|
||||||
rsync -av --delete --exclude .lektor/ $(BUILDDIR)/u/ $(DESTINATION)
|
rsync -av --delete --exclude .lektor/ $(BUILDDIR)/u/ $(DESTINATION)
|
||||||
rsync -av --delete $(BUILDDIR)/sitemap.xml $(DESTINATION)
|
rsync -av --delete $(BUILDDIR)/sitemap.xml $(DESTINATION)
|
||||||
|
|
||||||
permissions: build
|
permissions: build
|
||||||
find $(BUILDDIR) -type f -exec chmod 0644 {} \;
|
find $(BUILDDIR) -type f -exec chmod 0644 {} \;
|
||||||
find $(BUILDDIR) -type d -exec chmod 0755 {} \;
|
find $(BUILDDIR) -type d -exec chmod 0755 {} \;
|
||||||
|
|
Loading…
Reference in a new issue