Русские видео

Сейчас в тренде

Иностранные видео


Скачать с ютуб EP24 - Deploying a sample website using gitlab and gitlab-runner в хорошем качестве

EP24 - Deploying a sample website using gitlab and gitlab-runner 4 дня назад


Если кнопки скачивания не загрузились НАЖМИТЕ ЗДЕСЬ или обновите страницу
Если возникают проблемы со скачиванием, пожалуйста напишите в поддержку по адресу внизу страницы.
Спасибо за использование сервиса savevideohd.ru



EP24 - Deploying a sample website using gitlab and gitlab-runner

In this episode --- Install GitLab and GitLab Runner using Docker (as a quick lab setup) Create a sample website (Nginx) with Docker Use a GitLab project as the website's index.html Automatically update index.html when the project is updated gitlab resource requirement --- https://docs.gitlab.com/ee/install/re... cpu*8,ram*8g docker pull --- docker pull gitlab/gitlab-ce docker pull gitlab/gitlab-runner docker pull debian:stable-slim gitlab installation --- https://docs.gitlab.com/ee/install/do... cd /opt sudo mkdir gitlab sudo chown rui:docker gitlab sudo chmod 2775 gitlab cd gitlab mkdir config logs data ``` cat > .env << EOF GITLAB_VERSION=latest GITLAB_HOME=/opt/gitlab EOF *** cat > compose.yml << EOF version: '3.6' services: gitlab: image: gitlab/gitlab-ce:\$GITLAB_VERSION container_name: gitlab restart: always hostname: 'gitlab.example.com' environment: GITLAB_OMNIBUS_CONFIG: | Add any other gitlab.rb configuration here, each on its own line external_url 'https://gitlab.example.com' ports: '80:80' '443:443' volumes: '\$GITLAB_HOME/config:/etc/gitlab' '\$GITLAB_HOME/logs:/var/log/gitlab' '\$GITLAB_HOME/data:/var/opt/gitlab' shm_size: '256m' EOF ``` cat compose.yml | grep example #resolve for external_url in compose.yml echo "$(hostname -I| cut -d' ' -f1) gitlab.example.com" | sudo tee -a /etc/hosts start gitlab instance --- docker-compose up -d #wait for state to become healthy $ docker-compose ps Name Command State Ports ------------------------------------------------------------------------------------------------------------------------ gitlab /assets/wrapper Up (healthy) 22/tcp, 0.0.0.0:443 ...omit docker-compose exec gitlab cat /etc/gitlab/initial_root_password OacZDeW1EepyaBbCjJyesX3QdbxYr9GBEYcmn+g/KtI= new cert for www.example.com --- cd /opt/gitlab/ docker-compose exec gitlab bash cd /etc/gitlab/ssl/ openssl x509 -noout -text -in gitlab.example.com.crt | grep -E "After|CN|Alternative" -A1 # no san, only valid for 1m mkdir cert-ori mv gitlab.example.com.* cert-ori gitlabdomain=gitlab.example.com openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout ${gitlabdomain}.key -out ${gitlabdomain}.crt -subj "/CN=${gitlabdomain}" -addext "subjectAltName = DNS:${gitlabdomain}" openssl x509 -noout -text -in gitlab.example.com.crt | grep -Ei "subject|after" -A1 # 10y cert with san gitlab-ctl restart && gitlab-ctl status # restart gitlab docker cp gitlab:/etc/gitlab/ssl/gitlab.example.com.crt . #cert for runner webgui --- https://gitlab.example.com bottom left | help | gitlab version #2024-09-17 version is 17.3 create a project --- webgui | projects | create project "proj-web1" click (proj-web1/+) | new file index.html | myindex v0.1 proj | settings | repository | deploy tokens | runner1 | runner1 | read_repository token= gldt-h5QvXnV6W5eNagiGWdyL proj | build | pipeline editor (already update to latest version) ``` stages: deploy deploy_to_web1: stage: deploy script: ssh root@${DEPLOY_SERVER} -p ${DEPLOY_PORT} "cd /var/www/html ;git pull https://${DEPLOY_USERNAME}:${DEPLOY_TOKEN}@gitlab.example.com/root/proj-web1.git " only: main ``` proj setting | ci/cd | variables DEPLOY_SERVER=192.168.122.248 DEPLOY_PORT=8022 DEPLOY_USERNAME=runner1 DEPLOY_TOKEN=gldt-h5QvXnV6W5eNagiGWdyL nginx dockerfile --- cd /opt sudo mkdir mynginx sudo chown rui:docker mynginx sudo chmod 2775 mynginx cd mynginx ``` cat > Dockerfile << EOF FROM debian:stable-slim RUN apt-get update && \ apt-get install -y nginx openssh-server git curl && \ apt-get clean && \ mkdir /var/run/sshd && \ echo 'root:mypassword' | chpasswd && \ sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \ sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config EXPOSE 80 22 CMD ["sh", "-c", "service ssh start && nginx -g 'daemon off;'"] EOF ``` docker build . -t mynginx docker images echo "docker run -d --restart always --name mynginx -p 8080:80 -p 8022:22 mynginx" > mynginx.sh bash -x mynginx.sh echo "mynginx" | index.html scp -P 8022 index.html root@localhost:/var/www/html curl localhost:8080 gitlab runner - create --- sudo mkdir /opt/runner sudo chown rui:docker /opt/runner sudo chmod 2775 /opt/runner cd /opt/runner https://docs.gitlab.com/runner/instal... echo "docker run -d --name gitlab-runner --restart always gitlab/gitlab-runner:latest" > runner.sh bash -x runner.sh docker cp /opt/gitlab/gitlab.example.com.crt gitlab-runner:/etc/gitlab-runner/certs gitlab runner - register --- webgui | admin | ci/cd | runner | untag runner ```copy register cmd gitlab-runner register --url https://gitlab.example.com --token glrt-_2fUrvP-3xWxdycvXTNo ```

Comments