1. 程式人生 > >CentOS7下安裝配置Jenkins(rpm包) 並新建專案打包到nexus

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版本