当前位置: 首页 > 后端技术 > PHP

Jenkinsbackupandrollback(by:自己查资料)

时间:2023-03-29 16:51:56 PHP

jenkinsbackupandrollback首先在项目配置中的General中:1.勾选Discardoldbuilds(丢弃旧构建)Daystokeepbuilds表示保存构建的次数days,Max#ofbuildstokeep表示保存的最大构建数。如图2.CheckThisprojectisparameterized(参数化构建过程),添加ChoiceParameter(选择参数)和String参数(文本参数),设置两个参数,status-buildaction,默认值为deploy-release,rollback-回滚;version-build记录id值,默认值为0如图:在SourceCodeManagement(原始代码)中选择git链接,在Build(构建)中填写分支并添加shell脚本。脚本如下:case$statusindeploy)echo"status:$status"backup_path="${JENKINS_HOME}/jobs/${JOB_NAME}/builds/${BUILD_NUMBER}/target"deploy_path="/data/wwwroot/www.test.com/"如果[-d$backup_path];然后回显“$backup_path存在!”否则mkdir-p$backup_pathfisudorsync-r-z-P-p-t--delete$deploy_path$backup_path/sudorsync-r-z-P-p-t--delete${WORKSPACE}/$deploy_pathecho“部署完成!”;;rollback)echo"status:$status"echo"build_id:$version"backup_path="${JENKINS_HOME}/jobs/${JOB_NAME}/builds/$version/target"deploy_path="/data/wwwroot/www.test.com/"rm-rf$deploy_pathcp-r$backup_path/$deploy_pathecho"roll_backdone!";;*)退出;;esac并单击保存。点击BuildwithParameters,选择buildaction,deploydeploymentorrollback,选择rollback,输入版本构建记录ID。版本构建记录ID对应构建历史的ID,例如#20的20,然后点击构建。===============================================================以上方法使用了项目和jenkins系统在同一台服务器上的脚本。如果使用远程部署,项目和jenkins系统不在同一台服务器下。应该使用remote方法,如下:1.生成密钥对:在jenkins的位置为服务器生成密钥对,首先查看jenkins的配置文件,看jenkins的权限是在jenkins下还是在root下.然后在相应的权限文件夹中生成密钥对。(1)jenkins下:切换到jenkins所在服务器上的jenkins账号:su-jenkins创建密钥:ssh-keygen生成密钥对位置:你的标识已经保存在/var/lib/jenkins/.ssh/id_rsa你的公钥已经保存在/var/lib/jenkins/.ssh/id_rsa.pub将公钥内容id_rsa.pub复制到客户端/root/.ssh/authorized_keys文件中(2)root下:jenkins所在位置服务器切换到root账户:su-root创建密钥:ssh-keygen生成密钥对位置:你的身份已经保存在/root/.ssh/id_rsa你的公钥已经保存在/root/.ssh/id_rsa.pub将公钥内容id_rsa.pub复制到client/root/.ssh/authorized_keys文件中。