CentOS7安裝Jenkins2.7.x並部署服務


從有道雲筆記復制,格式沒法保持
 
前言
環境:CentOS7 + tomcat8
 
一、Jenkins
 

先導入倉庫

 
         
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.key
安裝
yum install jenkins
 
啟動
安裝JDK后,Jenkins無法啟動,需要修改vi /etc/rc.d/init.d/jenkins, 查找,輸入/java, 添加新的jre路徑 
# Search usable Java. We do this because various reports indicated
# that /usr/bin/java may not always point to Java >= 1.6
candidates="
/etc/alternatives/java
/usr/lib/jvm/java-1.6.0/bin/java
/usr/lib/jvm/jre-1.6.0/bin/java
/usr/lib/jvm/java-1.7.0/bin/java
/usr/lib/jvm/jre-1.7.0/bin/java
/usr/lib/jvm/java-1.8.0/bin/java
/usr/lib/jvm/jre-1.8.0/bin/java
/usr/bin/java
/data/java/jdk1.8.0_101/bin/java
"
 #systemctl daemon-reload
#systemctl enable jenkins
#systemctl start jenkins
 
訪問
 
提示輸入密碼,在 /var/lib/jenkins/secrets/initialAdminPassword中, 默認用戶為admin
 
登錄后提示安裝插件,點擊“推薦的插件”,推薦的插件不包含maven,需要稍后手動安裝(Maven Integration plugin)
 
安裝完成后建立一個初始用戶,完成  179: admin/admin, 191&192:weipiao/weipiao
 
卸載方法
#yum remove jenkins
 
要構建maven項目的話,需要手動配置JDK,Maven,並給本地倉庫設置權限(chmod 777 倉庫路徑),遇到Maven倉庫配置時,提示不是maven目錄的提示,重新解壓后解決,Maven的配置文件從本機復制
 
 
二、部署dubbo服務
 
1. 新建
 
2. 配置SVN
 
3. 添加要執行的命令 ,Goals and options : clean compile  exec:java -Dexec.mainClass="Main"
 
4. 保存后,點擊“立即構建”執行,鼠標懸停在當前構建日期上時,有下拉菜單,可以進行相關操作
 
三、部署web服務
 
1. 與部署dubbo服務的區別為Goals and options 改為 tomcat7:deploy
 
2. 配置maven/conf/settings.xml,添加tomcat管理用戶
    <!-- jenkins使用 -->
    <server>  
        <id>tomcat8</id>  
        <username>tomcat</username>  
        <password>tomcat</password>  
    </server>
 
3. 配置tomcat/conf/tomcat-users.xml,網上的教程很多都只配置manager, 實際要同時有admin與manager的權限才夠,如果是tomcat9,需要tomcat\webapps\manager\META-INF\context.xml中
注釋
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
 
tomcat-users.xml:
    <!-- jenkins需要 -->
      <role rolename="manager"/>
      <role rolename="manager-gui"/>  
      <role rolename="manager-script"/>  
      <role rolename="manager-jmx"/>  
      <role rolename="manager-status"/>  
 
      <role rolename="admin"/> 
      <role rolename="admin-gui"/>  
      <role rolename="admin-script"/>  
      <role rolename="admin-jmx"/>  
      <role rolename="admin-status"/>  
 
      <user username="tomcat" password="tomcat" roles="admin-gui,manager-gui,manager-script,manager-jmx,manager-status" /> 
      <user username="admin" password="admin" roles="admin,admin-gui,admin-script,admin-jmx,admin-status" />
 
四、pom.xml中的配置
 
service:
<build>
<defaultGoal>compile</defaultGoal>
<resources>
<resource>
<targetPath>${project.build.directory}/classes</targetPath>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>

<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>

<!-- 打包jar文件時,配置manifest文件,加入lib包的jar依賴 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<classesDirectory>target/classes/</classesDirectory>
<archive>
<manifest>
<!--實際為調用com.alibaba.dubbo.container.Main-->
<mainClass>Main</mainClass>
<!-- 打包時 MANIFEST.MF文件不記錄的時間戳版本 -->
<useUniqueVersions>false</useUniqueVersions>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
<manifestEntries>
<Class-Path>.</Class-Path>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<type>jar</type>
<includeTypes>jar</includeTypes>
<!--<useUniqueVersions>false</useUniqueVersions>-->
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>

</build>
web:
<build>
<finalName>web-demo</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
<port>9090</port>
<uriEncoding>UTF-8</uriEncoding>
<url>http://127.0.0.1:9090/manager/text</url>
<!--在maven的settings.xml中有配置的-->
<server>tomcat8</server>
<path>/web-demo</path>
</configuration>
</plugin>
</plugins>
</build>
 

五、部署WEB服務2
如果使用jetty插件,則簡單很多,運行命令為:clean compile jetty:run。
以下為插件配置:
<plugin>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <version>9.3.12.v20160915</version>
  <configuration>
  <!-- 指定監控的掃描時間間隔,0為關閉jetty自身的熱部署,主要是為了使用jrebel -->
  <scanIntervalSeconds>0</scanIntervalSeconds>
  <httpConnector>
  <port>9090</port>
  </httpConnector>
  <webApp>
    <contextPath>/</contextPath>
  </webApp>
  <!-- 指定額外需要監控變化的文件或文件夾,主要用於熱部署中的識別文件更新 -->
  <scanTargetPatterns>
    <scanTargetPattern>
      <directory>src</directory>
      <includes>
        <include>**/*.java</include>
        <include>**/*.properties</include>
      </includes>
      <!-- <excludes> <exclude>**/*.xml</exclude> <exclude>**/myspecial.properties</exclude> </excludes> -->
    </scanTargetPattern>
  </scanTargetPatterns>
  <webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory>
  </configuration>
</plugin>

 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM