CentOS7下安裝配置Jenkins(rpm包) 並新建專案打包到nexus
一、安裝
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 "[email protected]"
一直直接回車到生成公鑰
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:[email protected]:jiekou0000/helloworld.git</connection>
<developerConnection>scm:git:[email protected]: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>[email protected]{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版本