gitlab CI/CD

gitlab CI/CD架构:

 

 gitlab CI/CD步骤:

安装Runner:

Linux服务器安装:

•Linux安装文档:https://docs.gitlab.com/runner/install/linux-repository.html

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

yum install gitlab-runner

Docker服务器安装:

•docker安装文档:https://docs.gitlab.com/runner/install/docker.html

docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock --add-host=gitlab.ctnrs.com:192.168.121.132 gitlab/gitlab-runner:latest

 注册Runner:

登录容器:

 docker exec -it gitlab-runner bash

免交互注册,注意,token要 用root用户登录,单击管理中心-》概览-》runner,复制里面的token:

 gitlab-runner register --non-interactive --executor "shell" --url "http://gitlab.ctnrs.com" --registration-token "b3xFBYvysadqGz-eF4Ly" --description "test2" --tag-list "abc" --run-untagged="true" --locked="false"

注册成功能看到生成一个runner:

 

 编写流水线脚本:

 

 加入以下内容:

stages:
- build
- test
- deploy
build:
    stage: build
    tags:
    - abc
    script:
    - echo "代码编译..."
test:
    stage: test
    tags: 
    - abc
    script:
    - echo "测试代码..."
deploy:
    stage: deploy
    tags: 
    - abc
    script:
    - echo $USER
    - echo "部署项目..."
    - scp index.html root@192.168.121.131:/usr/share/nginx/html/

 

 出现上图,需要配置登录容器gitlab-runner,并用gitlab-runner用户的公钥发到nginx机器:

docker exec -it gitlab-runner bash

su - gitlab-runner

ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub 192.168.121.131

   出现上图,需要把运行runner机器的root用户公钥复制到web页面的SSH密钥里面:

root用户:

vi .ssh/id_rsa.pub

把内容复制到web页面的SSH密钥里面:

 流水线部署好后如图:

 

显示如下图:

 

 更新portal项目dev分支index.html并push,访问http://192.168.121.131,页面自动更新,流水线配置成功。

 

posted @ 2021-05-07 00:37  jamespeng2020  阅读(84)  评论(0)    收藏  举报