1-1 Jenkins-2.65部署

最后更新于:2022-04-02 07:38:07

### Jeninsk部署及使用 #### 基础环境 Centos7.3 x86_64 SVN JDK1.8 MySQL 5.7.18 Jenkins 2.65 (https://jenkins.io/download/) ANT 1.9.4 (http://archive.apache.org/dist/ant/binaries/) #### 下载 https://jenkins.io/download/ #### 安装 **yum部署** ```shell sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key yum install jenkins -y ``` **rpm部署** ```shell rpm -ivh https://pkg.jenkins.io/redhat/jenkins-2.65-1.1.noarch.rpm #默认路径:/var/lib/jenkins/ ``` **war包部署** ```shell nohup java -jar jenkins.war --httpPort=8080 & #默认路径:/root/.jenkins/ ``` #### Jenkins基础配置 ##### 查看并修改密码 ```shell 从/var/lib/jenkins/secrets/initialAdminPassword ``` ##### 安装推荐插件 如果你看到了offline报错,是因为jenkins会ping www.google.com,如果ping不通,就会报offline,在jenkins设置一个hosts,把google域名指向jenkins设备就解决了 ##### 配置环境变量 - 些变量会在你编译项目时用到 - Global Tool Configuration中进行设置 - 增加JDK环境变量(将jdk等文件上传到服务器指定位置) - 增加ANT环境变量(同JDK) #### 增加插件 - 安装svn插件(系统管理-->管理插件-->可用插件-->安装SVN Publisher plugin - 增加认证(Credentials-->System-->Global credentials-->Add Credentials-->输入SVN的用户名密码 #### 新建项目 - 新建-->构建一个自由软件风格的软件项目 - 输入项目名称 - 选择jdk版本 - 配置源码管理(链接,认证) >注意Ignore externals,如果项目连接着别的项目代码,请取消选择 - 配置构建,配置ANT,选择之前添加的版本 - 保存后构建 #### build.xml请看附件 ### 知识点 - Use‘svn update’ as much as possible > 第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下; 以后更新的时候,不会判断已有文件是否在svn里存在。比如工作目录下的文件123在svn里不存在,那么更新的时候不会删除123。 不会判断工作目录下的文件是否被改动,只会判断svn是否有新版本需要更新。比如工作目录下的文件zzz.txt内容为zzz,svn上的zzz.txt内容为空,如果svn上zzz.txt没有新版本,则在更新的时候不会更新zzz.txt,也就是说如果手动修改了工作目录下的文件,如果此文件在svn上没有出现新版本,就不会更新。一旦svn上的zzz.txt有新版本后就会更新工作目录的zzz.txt,这时工作目录下会生成如下几个文件:zzz.txt、zzz.txt.mine、zzz.txt.r223、zzz.txt.r224,其中zzz.txt.r223为svn上老版本、zzz.txt.r224为svn上新版本、zzz.txt.mine为工作目录上的zzz.txt的副本、zzz.txt记录了文件变化。 svn上删除了文件,更新的时候,工作目录里的此文件也会被删除。但是如上例中的zzz.txt手动修改过,已经和svn上的不一样了,这时将不会被删除。 - Alwayscheck out a fresh copy > 第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下; 每一次更新的时候,都会先清除工作目录下的所有文件,然后重新check-out一份完整的项目到工作目录下。 - Emulateclean checkout by first deleting unversioned/ignored files,then ‘svn update’ > 第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下; 以后更新的时候会判断工作目录下的文件是否在svn里存在,如果不存在则删除,如果存在且有新版本则更新。 会判断工作目录下的文件是否被改动,不管有没有新版本,都会还原为svn上的最新版本。 svn上删除了文件,更新的时候,工作目录里的此文件也会被删除。 - Use‘svn update’ as much as possible,with ‘svn revert’ before update > 第一次发布的时候,会把工作目录下的所有文件清空,然后check-out一份完整的项目到工作目录下; 以后更新的时候不会判断工作目录下的文件是否在svn里存在。 会判断工作目录下的文件是否被改动,不管有没有新版本,都会还原为svn上的最新版本。 svn上删除了文件,更新的时候,工作目录里的此文件也会被删除。 - 该内容引用自http://zhangxingnan.blog.51cto.com/3241217/1427000/ - 感谢《zhangxingnan》 ### 遇到的问题 #### svn引用外部项目,导致文件下载不完整 > 在配置项目时,去掉“Ignore externals”的勾选,即可将svn上引用的外部项目也一并checkout。在配置项目时,去掉“Ignore externals”的勾选,即可将svn上引用的外部项目也一并checkout。详见http://blog.csdn.net/wudj810818/article/details/51076353 感谢《5后's Blog》 #### Jenkins构建项目时,JAVA_HOME is not defined correctly > 在系统配置,Global Tool Configuration中创建JAVA_HOME变量,重新构建。 该变量用于编译项目,和系统中的JDK1.8没有关系。 ### 附件 #### 配置Build.xml文件 ```xml ``` 本文配置来源于http://blog.csdn.net/wangyajin333/article/details/47860577 感谢《[王雅瑾](http://blog.csdn.net/wangyajin333)》
';