<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### Jeninsk部署及使用 #### 基礎環境 Centos7.3 x86_64 SVN JDK1.8 MySQL 5.7.18 Jenkins 2.65 (https://jenkins.io/download/) ANT 1.9.4 (http://archive.apache.org/dist/ant/binaries/) #### 下載 https://jenkins.io/download/ #### 安裝 **yum部署** ```shell sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key yum install jenkins -y ``` **rpm部署** ```shell rpm -ivh https://pkg.jenkins.io/redhat/jenkins-2.65-1.1.noarch.rpm #默認路徑:/var/lib/jenkins/ ``` **war包部署** ```shell nohup java -jar jenkins.war --httpPort=8080 & #默認路徑:/root/.jenkins/ ``` #### Jenkins基礎配置 ##### 查看并修改密碼 ```shell 從/var/lib/jenkins/secrets/initialAdminPassword ``` ##### 安裝推薦插件 如果你看到了offline報錯,是因為jenkins會ping www.google.com,如果ping不通,就會報offline,在jenkins設置一個hosts,把google域名指向jenkins設備就解決了 ##### 配置環境變量 - 些變量會在你編譯項目時用到 - Global Tool Configuration中進行設置 - 增加JDK環境變量(將jdk等文件上傳到服務器指定位置) - 增加ANT環境變量(同JDK) #### 增加插件 - 安裝svn插件(系統管理-->管理插件-->可用插件-->安裝SVN Publisher plugin - 增加認證(Credentials-->System-->Global credentials-->Add Credentials-->輸入SVN的用戶名密碼 #### 新建項目 - 新建-->構建一個自由軟件風格的軟件項目 - 輸入項目名稱 - 選擇jdk版本 - 配置源碼管理(鏈接,認證) >注意Ignore externals,如果項目連接著別的項目代碼,請取消選擇 - 配置構建,配置ANT,選擇之前添加的版本 - 保存后構建 #### build.xml請看附件 ### 知識點 - Use‘svn update’ as much as possible > 第一次發布的時候,會把工作目錄下的所有文件清空,然后check-out一份完整的項目到工作目錄下; 以后更新的時候,不會判斷已有文件是否在svn里存在。比如工作目錄下的文件123在svn里不存在,那么更新的時候不會刪除123。 不會判斷工作目錄下的文件是否被改動,只會判斷svn是否有新版本需要更新。比如工作目錄下的文件zzz.txt內容為zzz,svn上的zzz.txt內容為空,如果svn上zzz.txt沒有新版本,則在更新的時候不會更新zzz.txt,也就是說如果手動修改了工作目錄下的文件,如果此文件在svn上沒有出現新版本,就不會更新。一旦svn上的zzz.txt有新版本后就會更新工作目錄的zzz.txt,這時工作目錄下會生成如下幾個文件:zzz.txt、zzz.txt.mine、zzz.txt.r223、zzz.txt.r224,其中zzz.txt.r223為svn上老版本、zzz.txt.r224為svn上新版本、zzz.txt.mine為工作目錄上的zzz.txt的副本、zzz.txt記錄了文件變化。 svn上刪除了文件,更新的時候,工作目錄里的此文件也會被刪除。但是如上例中的zzz.txt手動修改過,已經和svn上的不一樣了,這時將不會被刪除。 - Alwayscheck out a fresh copy > 第一次發布的時候,會把工作目錄下的所有文件清空,然后check-out一份完整的項目到工作目錄下; 每一次更新的時候,都會先清除工作目錄下的所有文件,然后重新check-out一份完整的項目到工作目錄下。 - Emulateclean checkout by first deleting unversioned/ignored files,then ‘svn update’ > 第一次發布的時候,會把工作目錄下的所有文件清空,然后check-out一份完整的項目到工作目錄下; 以后更新的時候會判斷工作目錄下的文件是否在svn里存在,如果不存在則刪除,如果存在且有新版本則更新。 會判斷工作目錄下的文件是否被改動,不管有沒有新版本,都會還原為svn上的最新版本。 svn上刪除了文件,更新的時候,工作目錄里的此文件也會被刪除。 - Use‘svn update’ as much as possible,with ‘svn revert’ before update > 第一次發布的時候,會把工作目錄下的所有文件清空,然后check-out一份完整的項目到工作目錄下; 以后更新的時候不會判斷工作目錄下的文件是否在svn里存在。 會判斷工作目錄下的文件是否被改動,不管有沒有新版本,都會還原為svn上的最新版本。 svn上刪除了文件,更新的時候,工作目錄里的此文件也會被刪除。 - 該內容引用自http://zhangxingnan.blog.51cto.com/3241217/1427000/ - 感謝《zhangxingnan》 ### 遇到的問題 #### svn引用外部項目,導致文件下載不完整 > 在配置項目時,去掉“Ignore externals”的勾選,即可將svn上引用的外部項目也一并checkout。在配置項目時,去掉“Ignore externals”的勾選,即可將svn上引用的外部項目也一并checkout。詳見http://blog.csdn.net/wudj810818/article/details/51076353 感謝《5后's Blog》 #### Jenkins構建項目時,JAVA_HOME is not defined correctly > 在系統配置,Global Tool Configuration中創建JAVA_HOME變量,重新構建。 該變量用于編譯項目,和系統中的JDK1.8沒有關系。 ### 附件 #### 配置Build.xml文件 ```xml <?xml version="1.0" encoding="UTF-8"?> <project name="ding_code" default="war" basedir="."> <property environment="env" /> <property name="webapp.name" value="ding_code" /> <property name="catalina.home" value="/app/tomcat-7.0.77" /> <property name="dist.dir" value="/data/ding_build_file/ding_code" /> <property name="ant.dir" value="/app/apache-ant-1.9.4" /> <property name="webRoot.dir" value="${basedir}/WebRoot" /> <property name="src.dir" value="${basedir}/src" /> <property name="config.dir" value="${basedir}/produce_configure" /> <property name="lib.dir" value="${webRoot.dir}/WEB-INF/lib" /> <property name="build.dir" value="${basedir}/build" /> <!-- 使用eclipse jdt進行編譯,而不使用JDK編譯 --> <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" /> <!-- 初始化classpath --> <path id="project.classpath"> <fileset dir="${lib.dir}"> <include name="**/*.jar" /> </fileset> <!-- 添加tomcat類路徑 --> <fileset dir="${catalina.home}/lib"> <include name="*.jar" /> </fileset> <!-- ant lib包 --> <fileset dir="${ant.dir}"> <include name="**/*.jar" /> </fileset> </path> <!-- get the source compile classpath in a printable form --> <pathconvert pathsep="${line.separator}| |-- " property="echo.path.compile" refid="project.classpath"> </pathconvert> <!-- show classpath jars --> <target name="print_classpath"> <echo message="|-- compile classpath"/> <echo message="| |"/> <echo message="| |-- ${echo.path.compile}"/> </target> <!-- 刪除之前的目錄結構 --> <target name="clear" description="清理舊文件"> <delete dir="${build.dir}" /> <delete dir="${dist.dir}" /> <delete file="${catalina.home}/webapps/${webapp.name}.war" /> <delete dir="${catalina.home}/webapps/${webapp.name}" /> </target> <!-- 創建目錄結構 --> <target name="init" depends="clear" description="創建初始化目錄結構"> <mkdir dir="${build.dir}/classes" /> <mkdir dir="${dist.dir}" /> </target> <!-- 編譯java --> <target name="compile" depends="init" description="編譯java文件"> <echo message="begin compile..." /> <javac srcdir="${src.dir}" destdir="${build.dir}/classes" includeantruntime="false" nowarn="on" source="1.6" target="1.6" deprecation="true" debug="true" encoding="UTF-8" classpathref="project.classpath" > <compilerarg line="-Xlint:unchecked" /> <!-- <classpath refid="project.classpath" /> --> </javac> <copy todir="${build.dir}/classes"> <fileset dir="${src.dir}"> <include name="**/*.xml" /> <include name="**/*.properties" /> <include name="**/*.sql" /> <include name="**/*.txt" /> </fileset> <fileset dir="${config.dir}"> <include name="**/*.xml" /> <include name="**/*.properties" /> <include name="**/*.sql" /> <include name="**/*.txt" /> </fileset> </copy> <echo message="end compile..." /> </target> <!-- 將class文件打成 jar包 --> <!-- <target name="pack" depends="compile"> <jar jarfile="${build.dir}/${webapp.name}.jar"> <fileset dir="${build.dir}/classes"> <include name="**/*.class"/> </fileset> </jar> </target> --> <!-- 打成war包, 名稱默認為 項目名 --> <target name="war" depends="compile" description="將工程打成war包"> <echo message="begin war..." /> <war destfile="${dist.dir}/${webapp.name}.war" basedir="${webRoot.dir}" webxml="${webRoot.dir}/WEB-INF/web.xml"> <lib dir="${lib.dir}" /> <classes dir="${build.dir}/classes" /> <fileset dir="${webRoot.dir}"> <include name="***.*" /> </fileset> </war> <echo message="end war..." /> </target> <!-- copy war包 tomcat的deploy目錄 <target name="deploy" depends="war" description="部署項目"> <echo message="begin deploy..." /> <copy file="${dist.dir}/${webapp.name}.war" todir="${catalina.home}/webapps" /> <echo message="end deploy..." /> </target> --> </project> ``` 本文配置來源于http://blog.csdn.net/wangyajin333/article/details/47860577 感謝《[王雅瑾](http://blog.csdn.net/wangyajin333)》
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看