首页 > 其他分享 >本地Jenkins.war+SVN实现全自动化持续集成

本地Jenkins.war+SVN实现全自动化持续集成

时间:2024-03-29 17:13:52浏览次数:20  
标签:SVN svn 工作 点击 Jenkins checkout war

准备工作:

  • Jenkins.war包

  • tomcat9

  • JDK19

  • SVN

Jenkins官网下载:

https://www.jenkins.io/download/

Tomcat下载

https://tomcat.apache.org/

image-20240327142646762

SVN下载

https://tortoisesvn.en.softonic.com/

DJK下载

https://www.oracle.com/java/technologies/downloads/

一、配置JDK环境变量

设置---》系统信息---》高级系统设置---》环境变量,在系统变量里新建JAVA_HOME,在path里中添加%JAVA_HOME%\bin

image-20240327143723872

image-20240327143835085

检查JDK的环境变量是否配置成功,打开cmd,java -version

image-20240327144130827

二、配置Tomcat的

解压apache-tomcat-9.0.87-windows-x64.zip,把解压后的tomcat放在一个没有中文的路径下

image-20240327144714684

进入bin目录,找到startup.bat,双击启动,访问http://localhost:8080/能正常打开如下界面,说面tomcat已配置好

image-20240327145541974

三、Jenkins相关设置

1、解锁Jenkins

把jenkins.war放到tomcat中的webapps里,点击startup.bat重启,访问http://localhost:8080/Jenkins,如能打开以下界面,则证明Jenkins环境已配置好

image-20240327154921684

管理员密码:复制下面密码上去,点击继续

image-20240327142107180

2、安装插件

选择默认第一个:安装推荐的插件即可

image-20240327155021360

跳转到如下界面,jenkins会自动安装页面中显示的插件,根据你的网络情况,这个过程会持续数分钟。

image-20240327155100896

3、创建第一个管理员用户

插件安装完后会自动跳入管理员创建页面:

image-20240327155634767

4、Jenkins配置URL:

使用默认的Jenkins url即可

image-20240327155733037

点击开始使用Jenkins按钮

image-20240327155814227

成功进入Jenkins界面

image-20240327155837048

5、修改Jenkins登录密码

由于初始密码比较长,不好记。 鼠标移动到右上角用户名上,点击,然后再下拉选择框点击设置(configure),进入设置页面,找到password,填写新密码,点击save。

image-20240327142316214

image-20240327152612658

密码修改成功,退出重新登录

image-20240327160046511

6、安装相关插件

点击Manage Jenkins ---》Manage Plugins---》Available

再搜索框中输入:Subversion回车,勾选---》安装

image-20240327160138685

7、新建项目

点击新建item

image-20240327160322103

填写任务名称,选择第一个自由风格即可,点击确定

image-20240327160409778

设置保持构建的天数和保持构建的最大个数

image-20240327160540161

源码管理

选择Subversion,Repository URL填写SVN的远程仓库地址

image-20240327160810676

Credentials--》点击添加Jenkins,类型选择用户名和密码,添加完成后,点击添加

image-20240327160857513

点击Credentials下拉选择框选择刚才添加的用户名和密码

image-20240327161051046

往下翻,到:Check-out Strategy,有5个选项供选择,默认选择第一个即可。

image-20240327161158506

1、Use‘svn update’ as much as possible

(1)第一次发布把工作空间清空,然后checkout一份到工作空间

(2)以后更新的时候只要svn里面的文件没有更新就用工作空间的,如果SVN中有文件更新则会同步到工作空间中。

(3)有个局限就是工作空间的文件内容修改了跟svn不一样了,也不会更新了,不过一般不会修改工作空间的文件内容

(4)svn删除了文件,工作目录也会删除

2、Always check out a fresh copy

(1)第一次发布把工作空间清空,然后checkout一份到工作空间

(2)以后的每一次更新都清空工作空间然后checkout一份下来。也就是说svn里有一个文件更新,也会把整个目录checkout一次到工作空间

3、Do not touch working copy, it is updated by other script.

(1)不要更新工作空间,由其他控制更新

4、Emulate clean checkout by first deleting unversioned/ignored files,then ‘svn update’

(1)第一次发布把工作空间清空,然后checkout一份到工作空间

(2)以后更新的时候会判断工作目录下的文件是否在svn里存在,不存在则删除,存在且SVN有新版本则更新,没有新版本则不更新

(3)如果工作空间目录被修改了,则不管有没有新版本都会checkout下svn中的最新版本

(4)svn删除了文件,工作目录也会删除

5、Use‘svn update’ as much as possible,with ‘svn revert’ before update

(1)第一次发布把工作空间清空,然后checkout一份到工作空间

(2)以后更新的时候不会判断工作目录下的文件是否在svn里存在

(3)如果工作空间目录被修改了,则不管有没有新版本都会checkout下svn中的最新版本

(4)svn删除了文件,工作目录也会删除
————————————————

设置Poll SCM

设置每分钟轮询一次,主要监测代码迭代更新,如果有新版本,则构建,否则,不构建

image-20240327161442809

添加构建步骤

由于我们的Jenkins部署在本地,所以选择:Execute Windows batch command即可,填写:python main.py执行项目

image-20240327161634485

image-20240327161816822

点击保存,项目添加完成,点击Build Now立即构建启动项目,第一次构建,会先去SVN远程仓库拉取代码到Jenkins本地的工作空间

image-20240327161950347

项目启动成功,正在运行

image-20240327162133961

实现当有新的迭代代码提交时,Jenkins能够自动构建,并且在构建完成后自动触发下一个构建。实现一个连续的自动化流程,而不需要手动干预

1、创建Pipeline项目,命名为:Aci-EM_Pipeline

image-20240329151703780

2、配置

  • 设置不允许并发构建(Do not allow concurrent builds)
  • 设置轮询 SCM(时间根据实际需求设置)
  • 编写Pipeline script脚本
pipeline {
    agent any
    
    stages {
        stage("Autotest") {
            steps {
                script {
                    // 检出代码
                    checkout([$class: 'SubversionSCM', 
                              additionalCredentials: [], 
                              excludedCommitMessages: '', 
                              excludedRegions: '', 
                              excludedRevprop: '', 
                              excludedUsers: '', 
                              filterChangelog: false, 
                              ignoreDirPropChanges: false, 
                              includedRegions: '', 
                              locations: [[
                                  credentialsId: '238c9f81-94f9-4dec-bb25-af703b470422', 
                                  depthOption: 'infinity', 
                                  ignoreExternalsOption: true, 
                                  local: '.', 
                                  remote: 'https://svn.svnbucket.com/AciMicro_W1/Aci_EM_EEG/branches/Aci_EM_EEG_V1_TEST/trunk/'
                              ]], 
                              quietOperation: true, 
                              workspaceUpdater: [$class: 'UpdateUpdater']])
                    
                    // 执行自动化部署
                    bat 'python main.py'
                }
            }
        }
    }
    
    post {
        success {
            echo 'Autotest succeeded!'
        }
        failure {
            echo 'Autotest failed!'
        }
    }
}

标签:SVN,svn,工作,点击,Jenkins,checkout,war
From: https://www.cnblogs.com/guoxiong/p/18104222

相关文章

  • VMware创建openEuler OS(欧拉)系统镜像虚拟机
    首先下载openEuler镜像文件,这里附上我使用的镜像版本链接:https://pan.baidu.com/s/1bCW7CGq05wGTM3VG_wks7A?pwd=ux5f 提取码:ux5f此处附上欧拉各版本网站openEuler下载|欧拉系统ISO镜像|openEuler社区官网下面开始安装步骤:蓝色框框内的选项自定义此处就创建好啦......
  • 8、jenkins项目代码审查-SonarQube代码审查
    文章目录一、安装SonarQube1、SonarQube简介2、安装SonarQube一、安装SonarQube1、SonarQube简介SonarQube是一个用于管理代码质量的开放平台,可以快速的定位代码中潜在的或者明显的错误。目前支持java,C#,C/C++,Python,PL/SQL,Cobol,JavaScrip,Groovy等二......
  • 安装VMwaretools
    首先:开机弹出镜像关机在开机(先别进桌面)右键虚拟机——》重装vmwaretools进去桌面把tgz文件移动到opt目录下,移动不了》权限不够,右键打开终端输入su输入root密码然后输入sudonautilus然后会出现一个可操作的文件夹,在这里移动就行回到终端看看自己操作前面有没有root......
  • jenkins使用笔记
    安装命令行dockerjenkins安装插件方法http://10.20.1.68:8080/pluginManager/advanced将升级站点地址改为http://updates.jenkins.io/update-center.jsonjenkins编译golanghttps://baijiahao.baidu.com/s?id=1709940320913165642&wfr=spider&for=pc选择一个自由风格......
  • docker 安装jenkins和gitlab
    安装jenkins#下载镜像dockerpulljenkins/jenkins#创建文件夹mkdir-p/home/jenkins_home#权限chmod777/home/jenkins_home#启动dockerrun-d-uroot-p9095:8080-p50000:50000--namejenkins-v/home/jenkins_home:/var/jenkins_home-v/etc/localtime:/etc......
  • Jenkins清理缓存
    1.在参数部分添加bool参数parameters{booleanParam(name:'CleanWorkspace',defaultValue:false,description:'清理工作空间,默认不清理!')}2.在脚本用引用这个参数stage("Initializationt"){step......
  • 想体验macOS?快来获取适合VMware其他版本吧!
    前言前段时间写了用VMware虚拟机安装macOS的教程,今天给小伙伴分享的系统镜像同样适用于VMware。但是否仅适用VMware,小伙伴可以自行测试。在安装macOS12或以上版本前,建议升级你的VMware虚拟机版本。小白在VMware16.0.0版本测试安装macOS12或以上版本过几次,都会出现无法进......
  • jenkins进行自动化部署
      jenkins自动化部署 hello,大家好,前文我们已经下载好我们的jenkins了,下面我们用jenkins来实现自动化部署啦!一、下载插件我们选择插件管理一个是MavenIntegrationplugin,一个是PublishOverSSH这里因为作者已经下载好了,所以在Installed可以查找到二、设置全局工......
  • 【平台开发】MTK6833——add harware command queue function in lk
    CQE实现主要步骤(参考协议)Hostsystem结构commandqueue任务结构:2.TheoryofOperation(操作理论)init(初始化)初始化,enableCQ配置CQCFGTaskDescriptorsize配置CQTDLBA(CommandQueuingTaskDescriptorListBaseAddress)和CQTDLBAU(CommandQueuingTaskDe......
  • 使用宝塔面板自建bitwarden(vaultwarden)密码管理器服务器
    参考:bitwarden(vaultwarden)密码管理器自建服务器-腾讯云开发者社区-腾讯云Docker部署Vaultwarden,并使用Nginx反向代理实现Https-Alain'sBlogInstallandSyncAllofYourDevices|Bitwarden 一、准备:域名+ssl+服务器二、步骤1、打开宝塔面板docker管理工具,在应用......