jekins實現自動部署(windows環境)


1、開發機部署Tomcat
1 、下載Tomcat壓縮包直接解壓,然后進入Tomcat的bin目錄運行startup.bat啟動Tomcat
2 、檢查端口是否啟動:命令提示符執行netstat -an  | find "8080" | find "LIS"
3 、打開http://localhost:8080/,即可看到tomcat頁面;
4 、將Tomcat設置為開機自啟動:(1)配置Tomcat環境變量:TOMCAT_HOME:C:\software\apache-tomcat-8.5.29-windows-x64\apache-tomcat-8.5.29\bin;CATALINA_BASE:C:\software\apache-tomcat-8.5.29-windows-x64\apache-tomcat-8.5.29;CATALINA_HOME:C:\software\apache-tomcat-8.5.29-windows-x64\apache-tomcat-8.5.29
(2)安裝Tomcat服務:cmd(必須以管理員身份運行)進入Tomcat的bin目錄,執行service.bat install
(3)雙擊bin目錄下的tomcat8w.exe可以設置啟動類型為自動,狀態為啟動;
(4)關閉Tomcat服務:net stop Tomcat8
(5)開啟Tomcat服務:net start Tomcat8
2、開發機部署ant
1 、官方主頁http://ant.apache.org下載ant
2 、配置環境變量
ANT_HOME    C:\software\apache-ant-1.10.3-bin\apache-ant-1.10.3
Path        %ANT_HOME%\bin
ClassPath   %ANT_HOME%\lib
3 、驗證是否安裝成功:cmd中輸入ant -version
 
3、開發機部署Jekins並安裝git插件
1、 下載jekinshttps://jenkins.io/download/(Jenkins 2.107.1);
2、 將下載的jenkins.war放在C盤根目錄下的Jekins文件夾中;
3、 以管理員身份運行cmd,進入Jekins文件夾,執行java -jar jenkins.war--httpPort=8000
4、 瀏覽器輸入http://localhost:8000/解鎖Jekins,並進入使用;(可安裝推薦的插件);
5、 修改admin的密碼,進入C:\Users\40459\.jenkins\users\admin目錄中的config.xml文件,將<passwordHash></passwordHash>之間的內容替換為#jbcrypt:$2a$10$WpyHUvd17zVICGNRT5UK4O.DgjWs.a8siigpWLpYqiEySRJcl9cT2,則密碼更換為111111
6、git 成功安裝則可在Jekins源碼管理看到
4、配置git
1、 新建任務->“源碼管理”->”Git”,在Repository URL設置遠程倉庫路徑,Credentials點擊“Add”並在Username和Password中配置github賬戶及密碼,配置完成后Credentials下拉選擇配置的內容,點擊“應用”;
5、配置SSH
2、Jekins 安裝插件publish over ssh
3、 在Jekins服務器執行:ssh-keygen -t rsa
6、手工構建
1、 選中任務,點擊“立即構建”按鈕,構建成功則可在jekins的工作區間看到相應的代碼;
2、 構建工程目錄:C:\Users\40459\.jenkins\workspace\任務名;
3、 配置maven后,工程打包為war包;
7、配置觸發器
1、 進入任務->構建觸發器,選擇Poll SCM,並在日程表配置H/3 * * * *(表示每3分鍾檢查一次,如有變更則自動構建,默認為每1分鍾檢查一次);
8、配置JDK
1 、進入控制台,點擊“系統管理”->“全局工具配置”->“新增JDK”;
2 、JAVA_HOME可直接配置服務器JDK路徑;也可以Jekins安裝JDK並自己使用;
9、配置ant
1、 需要在工程里新建ant命令運行所需的build.xml文件;
2、Jekins 控制台,“系統管理”->“全局工具設置”,新增ant,將本地的Ant_Home路徑寫入;
3、Jekins ,指定工程的配置的構建增加“Invoke Ant”,“Ant Version”選擇第2步設置的名稱;
10、將生成的war包推送到遠程服務器Tomcatwebapps目錄
1 、Jekins,安裝Deploy to container 插件;
2 、遠程服務器Tomcat的conf/tomcat_user.xml關於user的注釋修改為:
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="both" roles="tomcat,role1"/>
<user username="deploy" password="tomcat" roles="admin-gui,manager-gui,manager-script,admin"/>
<user username="role1" password="role1" roles="role1"/>
4、 遠程服務器Tomcat的conf/Catalina/localhost/中新增文件manage.xml,文件內容如下:
<Context privileged="true" antiResourceLocking="false"
    docBase="${catalina.home}/webapps/manager">
<value className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$"/>
</Context>
5、Jekins ,指定工程的配置的構建后操作配置如下:
11、Jekins其他操作
1、Jekins 卸載:停止Jekins服務;刪除C:\Users\40459\.jenkin整個目錄;
2、Jekins 重啟: http://localhost:8000/restart
12、Ant的使用
1、ant 的核心在build.xml文件;
2、 示例,Ant編譯java文件
(1)buil.xml內容:
<?xml version="1.0"?>
<project name="HelloWorld" default="test" basedir="">
<target name="test-compile">
<javac srcdir="src" destdir="build/classes/" />
</target>
</project>
(2) 執行ant test-compile命令,則將src文件夾下的java文件編文件存放在build/classes目錄下;
3、 示例,Ant 針對Web工程生成war包:
(1)build.xml 內容:
<?xml version="1.0" encoding="UTF-8"?>
 
<!-- 定義一個工程,默認任務為warFile。 -->
<project name="Webdemo" default="warFile" basedir=".">
 
<!-- 定義屬性,打成war包的名稱。 -->
<property name="warFileName" value="Webdemo.war"></property>
 
<!-- 定義路徑,編譯java文件時用到的jar包。 -->
<path id="project.lib">
<fileset dir="${basedir}/WebContent/WEB-INF/lib">
<include name="**/*.jar"/>
</fileset>
</path>
 
<!-- 定義任務,清空任務:清空原有的class文件,創建新的build路徑。 -->
<target name="clean">
<delete dir="${basedir}/build" />
<mkdir dir="${basedir}/build" />
</target>
 
<!-- 定義任務,編譯src文件夾中的java文件,編譯后的class文件放到創建的文件夾下。 -->
<target name="compile" depends="clean">
<javac srcdir="${basedir}/src" destdir="${basedir}/build" includeantruntime="false">
<classpath refid="project.lib">
</classpath>
</javac>
</target>
 
<!-- 定義默認任務,將class文件集合成jar包。 -->
<target name="warFile" depends="compile">
<!-- 刪除原有war包。 -->
<delete dir="${basedir}/${warFileName}" />
<!-- 建立新war包。 -->
<war destfile="${basedir}/${warFileName}" webxml="${basedir}/WebContent/WEB-INF/web.xml">
<!-- 將非jar和非class文件拷貝到war包的對應路徑下。 -->
<fileset dir="${basedir}/WebContent">
<include name="**/**.*" />
<exclude name="**/*.jar"/>
<exclude name="**/*.class"/>
</fileset>
<!-- 將jar和class文件拷貝到war包的對應路徑下。 -->
<lib dir="${basedir}/WebContent/WEB-INF/lib" />
<classes dir="${basedir}/build" />
</war>
</target>
 
</project>
(2) 執行命令:ant clean compile warFile,則會生成Webdemo.war
4 、注意:build.xml文件中涉及到的文件目錄必須都存在,ant命令才能執行成功;


免責聲明!

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



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