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…
	
	Add table
		Add a link
		
	
		Reference in a new issue