笔记--git/gitlab

    -------gitlab-------
        --安装:
            rpm -i gitlab-ce-XXX.rpm
            systemctl enable gitlab-runsvdir.service
            systemctl start gitlab-runsvdir.service
            gitlab-ctl start/status/stop
            配置:
                vim /etc/gitlab/gitlab.rb
                    external_url 'http://172.19.2.191'
            汉化:
                patch -d /opt/gitlab/embedded/service/gitlab-rails </root/gitlab/hanhua/v9.5.10-zh.diff
        
        --gitlab-runner
            1 安装gitlab-ci-multi-runner
            
            2 注册
                gitlab-ci-multi-runner register
                #所需url和token从gitlab的配置--》Runners中获取
            
            3 启用
                gitlab Runners中,在指定的项目中启用
                
            4 修改配置文件工作目录
                ]# cat /etc/gitlab-runner/config.toml
                concurrent = 1
                check_interval = 0

                [[runners]]
                  name = "191"
                  url = "http://192.168.80.191/"
                  token = "xxxxxxxxxxxxxxxxxx"
                  executor = "shell"
                  builds_dir = "/home/gitlab-runner/builds"
                  cache_dir = "/home/gitlab-runner/cache"
                  [runners.cache]
            
            5 在项目根目录下,vim .gitlab-ci.yml
            
            6 推送,如:
                git commit -am 'update gitlab-ci.yml'
                git push origin v1.0
            
        -- .gitlab-ci.yml
            简单示例:
                stages:
                  - build

                zip:
                  stage: build
                  script:
                   - export relend=`bash /home/gitlab-runner/scripts/serial.sh ${CI_PROJECT_NAME}_${CI_COMMIT_REF_NAME}`
                   - zip ${CI_PROJECT_NAME}_${CI_COMMIT_REF_NAME}.${relend}.zip ./*
                   # $CI_PROJECT_NAME 项目名
                   # $CI_COMMIT_REF_NAME 分支名
                   # $CI_PIPELINE_ID    流水线ID
                   # 更多变量 https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
                   - scp *.zip cscloud@172.17.1.1:/home/smbuser/tmp/MyProject/ #打包后推送位置需要配置gitlab-runner用户的免密登录
            
            示例中序列号生成脚本serial.sh:
                #! /bin/bash
                version=$1
                #版本名命名一个文件
                file="/home/gitlab-runner/cache/${version}"
                #每次build让序列号加1
                if [ -f "${file}" ];then
                        i=`cat ${file}`
                        let i++
                else
                        i=1
                fi

                echo $i >${file}
                echo $i

    -------git------
        --初始化
            git init
            git add .
            git checkout -b 'v2020.05.20'        #一定要先创建分支,再commit,不然会出现master分支
            git commit -m "Initial commit"
            git remote add origin git@172.19.2.191:shell/sqlscripts.git
            git push -u origin --all
        --清空所有修改,重新拉取代码
            git reset --hard
            git pull

上一篇:pycharm中pytest运行不了刚写的project测试用例?


下一篇:K8S容器环境下GitLab-CI和GItLab Runner 部署记录