Skip to content

Instantly share code, notes, and snippets.

@sahyung
Last active August 23, 2022 09:42
Show Gist options
  • Select an option

  • Save sahyung/4607a8d8a30c8a64381f8928b2d7219f to your computer and use it in GitHub Desktop.

Select an option

Save sahyung/4607a8d8a30c8a64381f8928b2d7219f to your computer and use it in GitHub Desktop.
simple ci/cd for NiagaHoster SRE Technical Test at https://docs.google.com/document/d/1hdU8UdSkJdyZOff3YXta98YeidTlG9cnQMsEpQuMgFA/edit with improvisation, use gitlab-runner instead of Chef and Jenkins.

Setup CI/CD using Gitlab

Install Gitlab Repositories

Install dependencies

sudo yum install -y curl policycoreutils-python openssh-server
sudo systemctl enable sshd
sudo systemctl start sshd
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

Import gitlab repo

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

Install gitlab packages

GITLAB_ROOT_PASSWORD="gitlab_root_password" \
EXTERNAL_URL="http://192.168.56.106" \
yum install -y git gitlab-ce

Verify installation

Install Gitlab Runner

Download and install binary

# Download the binary for centos 7
sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64

# Give it permission to execute
sudo chmod +x /usr/local/bin/gitlab-runner

# Create a GitLab Runner user
sudo useradd --comment 'GitLab Runner' --create-home gitlab-runner --shell /bin/bash

# Install and run as a service
sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner
sudo gitlab-runner start

Command to register runner

sudo gitlab-runner register --url http://192.168.56.106/ --registration-token yR38ucRt8FYvHDmNURHa

Verify registered runner

go to http://192.168.56.106/admin/runners alt

Install Docker

# Set up the repository
sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

# Install Docker Engine
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# start docker and enable docker on boot
sudo systemctl start docker
sudo systemctl enable docker

# get docker-compose binary
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# give permission
sudo chmod +x /usr/local/bin/docker-compose

# verify installation
docker-compose --version

# add gitlab-runner to docker group
sudo usermod -aG docker gitlab-runner

# verify that gitlab-runner has access to Docker:
sudo -u gitlab-runner -H docker info

Import Repository from github

  1. go to http://192.168.56.106/projects/new
  2. choose Import project Import project
  3. choose Repository by URL then Create Project Import project
  4. On the left Menu, choose Repository > Tags > New tag
  5. Tag name example 1.0.12 > Create tag Import project
  6. On the left Menu, choose CI/CD > PipeLines > New tag Import project
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment