Jenkins環境搭建及項目部署(linux)

1、   環境搭建

1.  Jenkins安裝及配置

安裝:java

利用官方提供的Debian軟件包倉庫,能夠自動安裝和升級,首先將祕鑰添加到系統。git

wget -q -O  - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add  -

而後在/etc/apt/sources.list中添加一下條目:sql

deb https://pkg.jenkins.io/debian-stable二進制/

更新你的本地包索引,而後安裝Jenkins:docker

sudo apt-get update

sudo apt-get install jenkins

訪問:npm

http://IP:8080/

配置:json

1)    安裝構建Maven項目插件tomcat

在可選插件中搜索Maven選擇下圖中的插件安裝。服務器

2)    全局工具配置app

在系統設置->全局工具配置中,指定Maven的安裝路徑,jdk的路徑,git路徑等。ssh

2.  PM2安裝

在須要部署項目的機器上安裝Node環境,而後使用下面的命令就能夠安裝PM2環境。

npm install pm2 -g

3.  Sonar代碼質量分析安裝

基於Docker安裝

1) 利用docker快速安裝sonar,首先安裝Docker環境,而後編寫以下的docker-compose.yml

db:

    image: postgres

    container_name: db

    restart: always

    volumes:

      - $PWD/data/postgres:/var/lib/postgresql/data

    environment:

      - POSTGRES_USER=sonar

      - POSTGRES_PASSWORD=sonar



sonarqube:

    image: sonarqube

    container_name: sonarqube

    link:

      - db

    environment:

      - SONARQUBE_JDBC_URL=jdbc:postgresql://db/sonar

      - SONARQUBE_JDBC_USERNAME=sonar

      - SONARQUBE_JDBC_PASSWORD=sonar

    ports:

      - "0.0.0.0:9000:9000"

啓動

docker-compose up -d

訪問

http://IP:9000/

經常使用命令

docker-compose pull   #拉取服務鏡像

docker-compose up -d   #啓動

docker-compose restart  #重啓

docker-compose stop  # 中止運行的容器而不刪除它們,它們可使用命令docker-compose start從新啓動起來

docker-compose start  #啓動已經存在的容器做爲一個服務

docker-compose logs  #顯示服務的日誌輸出

在Jenkins中添加Sonar

1)  下載sonar插件,SonarQube Scanner for Jenkins

2)  系統管理->系統配置下面配置sonar服務器信息

2、   項目部署

1.  Maven 項目war包部署

  • 點擊頁面左側的新建按鈕

  • 輸入項目名稱,選擇構建一個Maven項目,而後點擊肯定

  • 配置git倉庫

  • 構建觸發器

  • Build

  • 構建後操做,執行sonar代碼分析

  •  遠程部署

1) 下載插件。首先你須要下載Deploy Plugin。

2) 在父項目的pom文件中增長遠程部署插件

<plugin>

    <groupId>org.codehaus.cargo</groupId>

    <artifactId>cargo-maven2-plugin</artifactId>

    <version>1.6.5</version>

    <configuration>

        <container>

            <!-- 指明使用的tomcat服務器版本 -->

            <containerId>tomcat8x</containerId>

            <type>remote</type>

        </container>

        <configuration>

            <type>runtime</type>

            <cargo.remote.username>Tomcat的用戶名</cargo.remote.username>

            <cargo.remote.password>Tomcat的密碼</cargo.remote.password>

        </configuration>

    </configuration>

    <executions>

        <execution>

            <phase>deploy</phase>

            <goals>

                <goal>redeploy</goal>

            </goals>

        </execution>

    </executions>

</plugin>

3) 爲Tomcat設置用戶名和密碼

修改tomcat的tomcat-users.xml文件,增長tomcat的manager用戶。

    4)  修改Jenkins中的配置

    在「構建後操做」中增長以下配置:

    當即構建

2.  Maven項目jar包部署

1 安裝Publish Over SSH插件

Jenkins使用ssh部署jar包到目標服務器上,因此首先安裝Publish Over SSH插件,直接再jenkins中的系統管理->插件管理安裝便可

2 設置ssh密鑰,使得能夠免密登錄目標服務器

再jenkins的服務器上生成密鑰

ssh-keygen  -t rsa

而後使用

ssh-copy-id usera@a.site

複製到目標服務器便可

再jenkins中 系統管理->全局設置

下把剛纔生成的密鑰複製粘貼到這個地方

3 配置ssh

再剛纔的地方的下面配置目標服務器

以上

Name,隨便起一個名字

Hostname,寫目標服務服務器的地址

Username,寫目標服務器上的用戶名,也是執行文件的用戶(能夠單獨配置一個用戶,最好不要給過高的權限)

Remote Directory:發送到jav包到目標服務器的路徑,必須存在,jenkins不會本身建立目錄

下面還有高級,能夠根據本身的需求更改

以上就是jenkins方面的配置

4 示例項目

在某個項目中

在構建後操做中增長Send build artifacts over ssh

Name就是選擇剛纔上一步配置的服務器

下面的就是選擇打包後的jar包等操做

5 服務器啓動

在服務器上,利用pm2監控所傳輸的jar包,並啓動項目。

參考process.json

{

  "apps":[

  {

    "name"  : "it-eureka",

    "cwd": ".",

    "script": "/usr/bin/java",

    "args": [

        "-Xmx100m",

        "-Xss100m",

       "-jar",

       "it-eureka/target/it-eureka-1.0-SNAPSHOT.jar"

    ],

    "watch": [

       "it-eureka/target/it-eureka-1.0-SNAPSHOT.jar"

    ],

    "max_memory_restart": "1G",

    "log_date_format": "YYYY-MM-DD HH:mm Z",

    "exec_interpreter": "",

    "exec_mode"  : "fork_mode"

  }]}
相關文章
相關標籤/搜索