Skip to content
Snippets Groups Projects
Commit 3c8ac718 authored by Kwangjin Lee's avatar Kwangjin Lee
Browse files

Update .gitlab-ci.yml file

parent fcff2fe7
No related branches found
No related tags found
No related merge requests found
Pipeline #242311 passed
image: ruby:3.2.2-bookworm
image: alpine:latest
variables:
JEKYLL_ENV: production
LC_ALL: C.UTF-8
build-page:
stage: build
variables:
JEKYLL_ENV: production
stages:
- deploy
deploy-to-2024-website:
stage: deploy
rules:
- if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == "push"
before_script:
- gem install bundler
- bundle install
- wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 --no-verbose -O /usr/local/bin/yq
- chmod +x /usr/local/bin/yq
# Install rsync and SSH client, set up SSH agent, and configure SSH
- apk update && apk add --no-cache rsync openssh
- eval $(ssh-agent -s)
- echo "$MUDE_DEPLOYER_SSH_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
script:
- chmod +x ./build-page.sh
# Debug information: show current directory and list files
- 'echo "Current directory: $PWD"'
- ls -la
# Create and set permissions on the target directory on the remote server
- ssh $MUDE_SERVER_USER@$MUDE_SERVER_ADDRESS "sudo mkdir -p /var/web_server/htdocs/2024-website"
- ssh $MUDE_SERVER_USER@$MUDE_SERVER_ADDRESS "sudo chown -R $MUDE_SERVER_USER:$MUDE_SERVER_USER /var/web_server/htdocs/2024-website"
# Sync files to the remote server, excluding unnecessary directories
- rsync -avz --delete-after --exclude=".git/" --exclude=".cache/" ./ $MUDE_SERVER_USER@$MUDE_SERVER_ADDRESS:/var/web_server/htdocs/2024-website/
# Install Jekyll and build the site on the remote server
- |
if [ "$CI_COMMIT_BRANCH" == "publish" ]; then
echo "Running on publish branch"
./build-page.sh "/" true
else
echo "Running on main branch"
./build-page.sh /draft false
fi
artifacts:
paths:
- public
rules:
- if: $CI_COMMIT_BRANCH == "main" && $CI_PIPELINE_SOURCE == "push"
- if: $CI_COMMIT_BRANCH == "publish" && $CI_PIPELINE_SOURCE == "push"
ssh $MUDE_SERVER_USER@$MUDE_SERVER_ADDRESS "
# Update package lists
sudo apt-get update
# Install Ruby and other dependencies
sudo apt-get install -y ruby-full build-essential zlib1g-dev
# Set up Ruby Gems to install to the user's home directory
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME=\"\$HOME/gems\"' >> ~/.bashrc
echo 'export PATH=\"\$HOME/gems/bin:\$PATH\"' >> ~/.bashrc
source ~/.bashrc
# Install Jekyll and Bundler
gem install jekyll bundler
# Navigate to the project directory and build the site
cd /var/web_server/htdocs/2024-website
bundle install
JEKYLL_ENV=production bundle exec jekyll build --destination _site
# Ensure correct permissions for the _site directory
sudo chown -R $MUDE_SERVER_USER:$MUDE_SERVER_USER _site
sudo chmod -R 755 _site
"
environment:
name: production
url: https://mude.citg.tudelft.nl/2024-website
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment