jenkins使用demo小记

本文记录了使用jenkins进行持续集成的实践过程,包括构建任务的命名规范、用户授权、参数化构建以及pipeline脚本的配置。特别地,讨论了webhook自动化构建与gitlab的集成,以及在遇到拉取代码分支问题时的解决策略。
摘要由CSDN通过智能技术生成
  • 新建构建任务,初步定命名规范:组名缩写-环境-仓库名(or 组名缩写-环境-仓库名-描述)
    在这里插入图片描述
  • 构建任务配置,启用用户安全添加用户并授权,非LDAP需要先注册用户
    在这里插入图片描述
  • 参数化构建
    在这里插入图片描述
    run_env不同环境对应值,其它值无效,其对应数据库字段,不同环境对应相应服务器
dev test alpha beta prod
  • 如果需要进行自动化提交构建则进行此步骤,配置webhook自动化构建,到gitlab的对应仓库设置hook对应的url,secret,需要自动化测试的分支,保存并测试
    在这里插入图片描述
    在这里插入图片描述
  • 添加pipeline流水线脚本
pipeline{
    //运行节点设置
    agent {label 'master'}
    options {
        timestamps()
        skipDefaultCheckout()
    }

    stages {
        stage('prepare') {
            steps {
                echo '初始化相关变量...'
               script {
                    //branch_or_tag为参数化构建参数,git会拉取分支或者标签,run_env为参数化构建的发布环境,mode为参数化构建的子目录

                    //********** 只需要配置仓库目录名和仓库地址,仓库名和仓库地址需要在仓库字典存在对应一条记录 start ***********
                    main_dir = 'ToolReviewCode'
                    main_git = 'git@XXXXXXXXXXXXX/ToolReviewCode.git'
                    //********** end *****************

                    //以下不需要配置
                    //主仓库绝对路径
                    repo_path = "${WORKSPACE}"
                    //临时仓库项目目录
                    temp_project_path = "${BUILD_SPACE}/${currentBuild.projectName}"
                    //主仓库临时目录
                    temp_repo_path = "$temp_project_path/${main_dir}"
                    //创建临时目录
                    sh "mkdir -p ${temp_project_path}"
                    

                }
            }
        }

        stage('checkout') {
           steps{
                //这里需要配置
                //主仓库拉取,只需要配置分支或标签${branchOrTag},git_url
                echo '开始拉取代码...'
                checkout([$class: 'GitSCM', branches: [[name: "${branch_or_tag}"]], userRemoteConfigs: [[url: "${main_git}"]]])
            }
        }

        

        stage('build') {
            steps {
                //发布前构建
                //先同步到临时目录,rsync 命令,-a -z为压缩,-t为保留文件时间属性,如果是量全量同步则是加 --delete-after,排除.git文件,可根据自己需要我改参数,后面两个目录参数可不动,注意第一个要加'/',第二个不用
                sh "rsync -azt --exclude=.git ${repo_path}/ ${temp_repo_path}"

                //写入主
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值