一、安装
Jenkins官网下载地址: https://jenkins.io/download/
rpm -ivh jenkins-2.138-1.1.noarch.rpm
二、配置
1. jenkins的默认JENKINS_PORT是8080,JENKINS_AJP_PORT默认端口是8009,这同tomcat的默认端口冲突。我这更改为8088和8089。
vi /etc/sysconfig/jenkins
2. 检测jdk是否安装,若没有安装jdk,则安装jdk
java -version
3. 检查jenkins是否配置jdk,在candidates后面加上自己的jdk路径,如下:
vi /etc/rc.d/init.d/jenkins
三、启动.
service jenkins start
------
http://192.168.84.131:8088
四、新建项目
1. 安装maven插件
系统管理 -> 插件管理 -> 可选插件 : Maven Integration
2. 全局工具配置
settings.xml文件添加:
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>thirdparty</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<name>192.168.84.131:8081</name>
<url>http://192.168.84.131:8081/nexus/content/groups/public</url>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://192.168.84.131:8081/nexus/content/groups/public</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
<thirdparty><enabled>true</enabled></thirdparty>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>
3. 新建maven项目
4. 该maven项目配置
if [ ${env} == "master" ]
then
mvn -B release:clean release:prepare release:perform
else
mvn clean
mvn deploy
fi
五、配置问题解决
1. Failed to connect to repository ...
(jenkins用户添加公钥)
A.由root切换到jenkins
passwd jenkins
su jenkins
B. 添加github公钥
执行: cd ~/.ssh
如果返回“… No such file or directory”,说明没有生成过SSH Key,直接进入D步。否则进入C步备份!
C. 备份: mkdir key_backup
mv id_isa* key_backup
D. 生成新的Key:(引号内的内容替换为你自己的邮箱) ssh-keygen -t rsa -C "your_email@youremail.com"
一直直接回车到生成公钥
E. cd ~/.ssh,打开“id_rsa.pub”
打开 https://github.com/settings/ssh ,点击 Add SSH Key 按钮,粘贴进去保存即可
id_rsa.pub 为公钥,id_rsa为私钥
F. jenkins中maven项目配置,复制私钥进去
2. Jenkins needs to know where your Maven is installed ....
全局工具配置 ->
3. 打包时出现 java找不到 ...
全局工具配置 ->
六、项目pom文件maven依赖
<scm>
<connection>scm:git:git@github.com:jiekou0000/helloworld.git</connection>
<developerConnection>scm:git:git@github.com:jiekou0000/helloworld.git</developerConnection>
<url>https://github.com/jiekou0000/helloworld/tree/master</url>
<tag>v1.0.0-SNAPSHOT</tag>
</scm>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.5.3</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
<tagNameFormat>v@{project.version}</tagNameFormat>
</configuration>
</plugin>
<!--关闭java doc 警告-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</pluginManagement>
</build>
ps:案例项目 https://github.com/jiekou0000/helloworld
打包mster分支时会打包到nexus Releases下,必须先有SNAPSHOT版本