美文网首页
gitLab进行CI配置记录

gitLab进行CI配置记录

作者: 会玩的老王 | 来源:发表于2021-03-16 09:22 被阅读0次

主要配置如下

image: wangzhiying/ubuntu_ci:v1

mainCode:
    tags:
      - kxt
    only:
        - master
    before_script:
        - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client rsync -y )'
        - eval $(ssh-agent -s)
        - echo "${SSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null
        - mkdir -p ~/.ssh
        - chmod 700 ~/.ssh
        - echo "${SSH_KNOWN_HOSTS}" > ~/.ssh/known_hosts
        - chmod 644 ~/.ssh/known_hosts
    script:
#         #调整目录权限,保障这边用户组与服务器端需要的一致
        - groupadd www
        - useradd -g www -s /sbin/nologin www
        - chown -R www:www *
        - chmod -R 755 ./ * #星号前面空格自己去掉
         #主要同步代码的命令,可以在这里排除一些文件,同步权限,配置服务器的项目路径等。重点参考rsync命令的用法。
        - rsync -aztpu --delete --exclude-from ".gitlab-exclude" -e "ssh -p 2221" ./ 服务器账号@服务器地址:目录地址
testCode:
    tags:
      - kxt_test
    only:
      - develop
    before_script:
        - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client rsync -y )'
        - eval $(ssh-agent -s)
        - echo "${TEST_SSH_PRIVATE_KEY}" | tr -d '\r' | ssh-add - > /dev/null
        - mkdir -p ~/.ssh
        - chmod 700 ~/.ssh
        - echo "${TEST_SSH_KNOWN_HOSTS}" > ~/.ssh/known_hosts
        - chmod 644 ~/.ssh/known_hosts
    script:
        #调整目录权限,保障这边用户组与服务器端需要的一致
        - groupadd www
        - useradd -g www -s /sbin/nologin www
        - chown -R www:www *
        - chmod -R 755 ./ * #星号前面空格自己去掉
        #主要同步代码的命令,可以在这里排除一些文件,同步权限,配置服务器的项目路径等。重点参考rsync命令的用法。
        - rsync -aztpu --delete --exclude-from ".gitlab-exclude" ./ 服务器账号@服务器地址:目录地址

CI配置说明

  1. only 配置决定需要构建的分支,当该分支有变动时会执行流水线操作

  2. 比如一些SSH_PRIVATE_KEY或者TEST_SSH_PRIVATE_KEY等属于变量、可在gitlab设置-CI/CD-变量中定义(注意部分变量设置受保护的话只能主分支使用)

  3. 这里使用到docker的镜像image: wangzhiying/ubuntu_ci:v1这个镜像是我自己基于ubuntu原始镜像运行命令'which ssh-agent || ( apt-get update -y && apt-get install openssh-client rsync -y )'后生成,主要目的为了加快构建速度,你也可以使用ubuntu镜像

  4. 部分目录或文件不需要同步的话需要在代码目录下新增.gitlab-exclude文件、把需要禁止同步的目录或文件写上

  5. ssh公钥免密登陆服务器的话参考网址https://blog.csdn.net/Hannnnnnnnnnnnn/article/details/110196685(本机对本地也可以,不一定需要本机对远端服务器)

  6. 配置完成后需要进行gitlab-Runner安装

相关文章

网友评论

      本文标题:gitLab进行CI配置记录

      本文链接:https://www.haomeiwen.com/subject/ynprcltx.html