Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 中文字幕精品视频在线观看,在线国产一区,豆国产93在线|亚洲

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          前端爬坑之路-Visual Studio Code以

          前端爬坑之路-Visual Studio Code以及相關(guān)插件安裝

          所謂工欲善其事,必先利其器。對于前端開發(fā)者來說,選擇一款趁手的開發(fā)工具,不僅可以提高開發(fā)效率,甚至可以達到事半功倍的效果。目前,市面上前端開發(fā)工具非常多,比如VS Code、Web Storm、Atom、Hbuilder、SublimeText3,其中VS Code與Web Storm是其中個人體驗比較好的兩款。Web Storm是jetbrains公司旗下一款JavaScript 開發(fā)工具,即插即用,不需要過多的配置,另外Web Storm的智能提示堪稱神級,很值得去用。但是VS Code相對于Web Strom最大的優(yōu)勢在于免費,而且VS Code占用內(nèi)存小,插件很多,可以通過安裝插件,打造一個適合自己的開發(fā)環(huán)境,VS Code其實就是一個披著編輯器外衣的IDE。由于Web Storm更像一個生產(chǎn)工具,因此,個人比較推薦VS Code,可以在學習階段增強對前端的語法以及相關(guān)內(nèi)容的記憶,增加前端開發(fā)的熟練度。其中Visual Studio Code搭建前端開發(fā)環(huán)境步驟如下:

          第一步,下載Visual Studio Code,通過網(wǎng)站搜索Visual Studio Code進入相應的下載頁面或者直接打開https://code.visualstudio.com/Download/進入,然后選擇對應電腦操作系統(tǒng)的版本進行下載。(注:Windows有兩個版本,一個是User Installer,一個是System Iinstaller,前者是安裝在當前電腦登錄賬戶目錄下,而后者安裝在非用戶目錄下,個人建議選擇后者,因為不會因為用其它賬戶登錄系統(tǒng)而無法使用。)

          Visual Studio Code下載頁面

          第二步,安裝Visual Studio Code,Mac版下載后可直接打開使用將下載的文件拖拽至啟動臺,之后會在啟動臺看到Visual Studio Code的圖標,Windows版本直接點擊下一步,其中可以根據(jù)需要選擇相應的安裝目錄即可。

          Windows版本選擇相應安裝目錄

          第三步,打開Visual Studio Code,安裝相應插件,安裝完成后需要重啟使插件生效。由于目前只用于前端開發(fā),個人建議,只需安裝Live Server、Prettier 、vscode-icons、HTML Snippets、Auto Close Tag、IntelliSense for CSS class names in HTML、Atuo Rename Tag

          Live Server:實時加載功能的服務(wù)器,保存代碼后可以在網(wǎng)頁中實時看到效果;

          Prettier :代碼格式化;

          vscode-icons:文件顯示圖標;

          HTML Snippets:自動填充html標簽;

          Auto Close Tag:自動添加閉合/結(jié)束標簽;

          Atuo Rename Tag:修改 html 標簽,自動幫你完成尾部閉合標簽的同步修改

          IntelliSense for CSS class names in HTML:據(jù)所輸入的class所在或link元素引入的外部文件中找到相應的類名稱并提示給html。

          插件安裝界面

          第四步,對VS Code進行相關(guān)配置,此處只修改相應的字體大小、界面主題以及文件圖標。

          1、進入配置界面

          進入Visual Studio Code設(shè)置界面

          2、設(shè)置字體大小

          設(shè)置字體大小

          3、設(shè)置VS Code主題

          設(shè)置Visual Studio Code界面主題

          4、設(shè)置文件圖標顯示

          設(shè)置Visual Studio Code文件圖標樣式

          第五步、創(chuàng)建第一個頁面并通過Live Server看頁面效果

          1、創(chuàng)建頁面并打開頁面

          點擊file選擇new file,然后保存并命名為demo.html,在VS Code的編輯界面輸入感嘆號(英文輸入法狀態(tài)下)提示按回車即會生成一個完整的html頁面代碼,之后保存并單擊鼠標右鍵選擇Open with Live Server,即會打開瀏覽器看到頁面效果(建議安裝Chrome瀏覽器,打開時選擇Chrome)。

          Visual Studio Code自動補全的HTML代碼

          2、代碼格式化,Prettier的使用(快捷鍵:shift+alt+f)

          Prettier代碼格式化前

          Prettier代碼格式化后

          前端小白,僅以此作為學習筆記以及分享,如有需改進或者不妥之處,請多多指教。

          1+0.01=1.01

          1-0.01=0.99

          種常用的maven打包插件總結(jié):

          一、自帶插件:

          maven自帶的核心插件為Build plugins和Reporting plugins。

          mvn compile編譯源碼實際上就利用到了maven-compiler-plugin,其他phase也類似用到了相應的插件

          關(guān)于maven自帶的核心插件見:http://maven.apache.org/plugins/index.html

          核心插件 maven-compiler-plugin

          參考地址 http://maven.apache.org/plugins/maven-compiler-plugin/

          從3.0版本開始,編譯工具默認使用的是 javax.tools.JavaCompiler(從JDK 1.6開始) 如果要強制使用javac來進行編譯,需要添加參數(shù)forceJavacCompilerUse

          <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-compiler-plugin</artifactId>

          <version>3.6.1</version>

          <configuration>

          <encoding>utf-8</encoding>

          <source>1.7</source>

          <!-- 默認1.5 -->

          <target>1.7</target>

          <!-- 默認1.5 -->

          <compilerArgs>

          <!-- 傳遞編譯參數(shù) -->

          <arg>-verbose</arg>

          <arg>-Xlint:all,-options,-path</arg>

          </compilerArgs>

          <fork>true</fork>

          <!-- 配置編譯內(nèi)存參數(shù) -->

          <meminitial>128m</meminitial>

          <!-- 初始內(nèi)存 -->

          <maxmem>512m</maxmem>

          <!-- 最大內(nèi)存 -->

          <executable>${JAVA_1_4_HOME}/bin/javac</executable>

          <!-- 指定編譯的java庫 -->

          <compilerVersion>1.3</compilerVersion>

          <!-- 指定編譯版本 -->

          </configuration>

          </plugin>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27

          配置source 和target時,也可以這樣配置 實際上這是javac指令可以接受的參數(shù)

          <properties>

          <maven.compiler.source>1.8</maven.compiler.source>

          <maven.compiler.target>1.8</maven.compiler.target>

          </properties>

          • 1
          • 2
          • 3
          • 4

          二、直接打成可執(zhí)行的jar包。

          這種打包方式比較粗暴,將應用的依賴包和程序包打成一個全量包。包會相對較大,但是好處也很明顯,不用管依賴包。所以這種方式只適用于比較小的項目,比如搭建微服務(wù)這種方式可以適用。

          附上關(guān)鍵的服務(wù)器執(zhí)行代碼

          java -jar dataCleaner.jar 1>/home/credit/app/tracefile 2>/home/credit/app/errorfile &

          說明: 最后面的& 表明后臺執(zhí)行。

          1> 將運行日志輸出到tracefile

          2> 將錯誤日志輸出到errorfile

          具體參數(shù)很多,參考官網(wǎng)頁面

          官網(wǎng)頁面 http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html

          <plugin>

          <artifactId>maven-assembly-plugin</artifactId>

          <configuration>

          <descriptorRefs>

          <descriptorRef>jar-with-dependencies</descriptorRef>

          </descriptorRefs>

          </configuration>

          </plugin>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8

          還一種方式,可以使用spring-boot的打包插件進行打包。一般是跟spring boot一起使用的,但是也可以單獨利用出來打成可執(zhí)行的整包。

          <plugin>

          <groupId>org.springframework.boot</groupId>

          <artifactId>spring-boot-maven-plugin</artifactId>

          <version>1.3.5.RELEASE</version>

          <configuration>

          <mainClass>com.ftoul.dataCleaner.DataCleanServiceProvider</mainClass>

          <layout>ZIP</layout>

          </configuration>

          <executions>

          <execution>

          <goals>

          <goal>repackage</goal>

          </goals>

          </execution>

          </executions>

          </plugin>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16

          補充一下,還有一個shade插件也是比較常用的打fat jar包的方式

          <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-shade-plugin</artifactId>

          <version>3.0.0</version>

          <executions>

          <execution>

          <phase>package</phase>

          <goals>

          <goal>shade</goal>

          </goals>

          <configuration>

          <transformers>

          <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">

          <manifestEntries>

          <Main-Class>org.sonatype.haven.ExodusCli</Main-Class>

          <Build-Number>123</Build-Number>

          </manifestEntries>

          </transformer>

          </transformers>

          </configuration>

          </execution>

          </executions>

          </plugin>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23

          三 將依賴包與代碼包分開打包

          這種打包方式更普遍適用。畢竟依賴的jar包在項目發(fā)展中變動會相對較小。一般可配合maven-dependency-plugin 和 maven-jar-plugin 兩個插件打包。前者負責依賴包,后者負責程序包。

          另外,附上服務(wù)器可用的執(zhí)行腳本。

          more runapp.sh

          #!/bin/sh

          #執(zhí)行jar包

          RUN_LIBS=""

          #依賴jar包

          SUPPORT_LIBS=""

          RUN_LIB_PATH="$HOME/app/lib"

          SUPPORT_LIB_PATH="$HOME/app/support"

          #加載程序包

          for i in ${RUN_LIB_PATH}/* ; do

          RUN_LIBS=${RUN_LIBS}:$i

          done

          #加載依賴包

          for i in ${SUPPORT_LIB_PATH}/* ; do

          SUPPORT_LIBS=${SUPPORT_LIBS}:$i

          done

          #整合classpath

          CLASSPATH=${RUN_LIBS}:${SUPPORT_LIBS}

          export CLASSPATH

          #調(diào)用java指令執(zhí)行。-D輸入?yún)?shù) java中可以用 System.getProperties讀取。同時指定執(zhí)行入口類 SpringBootApplication 這是一個典型的Springboot的執(zhí)行方式。

          java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=27899,suspend=n -cp $CLASSPATH -Dspring.profiles.active=prod com.app.SpringBootApplication -D

          user.timezone=GMT+08 1>/home/credit/ftoulcloud/bin/tracefile 2>/home/credit/ftoulcloud/bin/errorfile &

          echo Start App Success!

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24

          assembly官網(wǎng)的其他幾個示例使用項目的依賴包進行打包

          <build>

          <plugins>

          <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-dependency-plugin</artifactId>

          <version>3.0.0</version>

          <executions>

          <execution>

          <id>src-dependencies</id>

          <phase>package</phase>

          <goals>

          <!-- use copy-dependencies instead if you don't want to explode the sources -->

          <goal>unpack-dependencies</goal>

          </goals>

          <configuration>

          <classifier>sources</classifier>

          <failOnMissingClassifierArtifact>false</failOnMissingClassifierArtifact>

          <outputDirectory>${project.build.directory}/sources</outputDirectory>

          </configuration>

          </execution>

          </executions>

          </plugin>

          </plugins>

          </build>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24

          將指定的包打入依賴包

          <build>

          <plugins>

          <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-dependency-plugin</artifactId>

          <version>3.0.0</version>

          <executions>

          <execution>

          <id>copy</id>

          <phase>package</phase>

          <goals>

          <goal>copy</goal>

          </goals>

          </execution>

          </executions>

          <configuration>

          <artifactItems>

          <artifactItem>

          <groupId>junit</groupId>

          <artifactId>junit</artifactId>

          <version>3.8.1</version>

          <type>jar</type>

          <overWrite>false</overWrite>

          <outputDirectory>${project.build.directory}/alternateLocation</outputDirectory>

          <destFileName>optional-new-name.jar</destFileName>

          </artifactItem>

          </artifactItems>

          <outputDirectory>${project.build.directory}/wars</outputDirectory>

          <overWriteReleases>false</overWriteReleases>

          <overWriteSnapshots>true</overWriteSnapshots>

          </configuration>

          </plugin>

          </plugins>

          </build>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34

          一個可用的示例

          <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-dependency-plugin</artifactId>

          <!-- <version>2.10</version> -->

          <executions>

          <execution>

          <id>copy-dependencies</id>

          <phase>package</phase>

          <goals>

          <goal>copy-dependencies</goal>

          </goals>

          <configuration>

          <outputDirectory>export</outputDirectory> <!-- 將依賴包放入export文件夾 -->

          <excludeTransitive>false</excludeTransitive>

          <stripVersion>true</stripVersion>

          </configuration>

          </execution>

          </executions>

          </plugin>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19

          四、maven-jar-plugin 將指定的一些文件打包成jar包

          這個比較簡單。就將指定的文件打成jar包

          <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-jar-plugin</artifactId>

          <version>3.0.2</version>

          <configuration> <!-- manifest配置信息 主要是可以配置主執(zhí)行類。有主執(zhí)行類,可以用java-jar直接執(zhí)行。沒有的話就需要指定執(zhí)行類 -->

          <archive>

          <manifest>

          <addClasspath>true</addClasspath>

          <classpathPrefix>support/</classpathPrefix>

          <mainClass>com.myapp.MyAppApplication</mainClass>

          <!-- 可以按上面的方式自己配置,也可以指定MF文件打包。 -->

          <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>

          </manifest>

          </archive>

          </configuration>

          <executions>

          <execution>

          <id>myapp1-jar</id>

          <phase>package</phase>

          <goals>

          <goal>jar</goal>

          </goals>

          <configuration>

          <classifier>myapp</classifier>

          <includes>

          <include>com/myapp/**</include>

          <include>mybatis/**</include>

          <include>templates/**</include>

          <include>*.properties</include>

          <include>dubbo.xml</include>

          </includes>

          </configuration>

          </execution>

          <execution>

          <id>myapp2-jar</id>

          <phase>package</phase>

          <goals>

          <goal>jar</goal>

          </goals>

          <configuration>

          <classifier>myapp2</classifier>

          <includes>

          <include>com/myapp2/crawler/*</include>

          <include>com/myapp2/crawler/*</include>

          <include>com/myapp2/utils/**</include>

          <include>log4j.properties</include>

          </includes>

          </configuration>

          </execution>

          </executions>

          </plugin>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36
          • 37
          • 38
          • 39
          • 40
          • 41
          • 42
          • 43
          • 44
          • 45
          • 46
          • 47
          • 48
          • 49
          • 50
          • 51

          五、其他豐富的三方插件

          PMD打包插件。 PMD一個很好用的靜態(tài)代碼檢查插件, eclipse可以直接安裝插件使用

          生成PMD報告

          http://maven.apache.org/plugins/maven-pmd-plugin/

          只能用于3.3.3以后的maven版本

          分析JSP頁面

          <reporting>

          <plugins>

          <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-pmd-plugin</artifactId>

          <version>3.8</version>

          <configuration>

          <language>jsp</language>

          <rulesets>

          <ruleset>jsp-basic</ruleset>

          </rulesets>

          <includes>

          <include>**/*.jsp</include>

          </includes>

          <compileSourceRoots>

          <compileSourceRoot>${basedir}/src/main/webapp</compileSourceRoot>

          </compileSourceRoots>

          </configuration>

          </plugin>

          </plugins>

          </reporting>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21

          分析JS

          <reporting>

          <plugins>

          <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-pmd-plugin</artifactId>

          <version>3.8</version>

          <configuration>

          <language>javascript</language>

          <rulesets>

          <ruleset>ecmascript-basic</ruleset>

          <ruleset>ecmascript-braces</ruleset>

          <ruleset>ecmascript-unnecessary</ruleset>

          </rulesets>

          <includes>

          <include>**/*.js</include>

          </includes>

          <compileSourceRoots>

          <compileSourceRoot>${basedir}/src/main/javascript</compileSourceRoot>

          </compileSourceRoots>

          </configuration>

          </plugin>

          </plugins>

          </reporting>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23

          代碼非法檢查

          <build>

          <plugins>

          <plugin>

          <groupId>org.apache.maven.plugins</groupId>

          <artifactId>maven-pmd-plugin</artifactId>

          <version>3.8</version>

          <executions>

          <execution>

          <goals>

          <goal>check</goal>

          <goal>cpd-check</goal>

          </goals>

          </execution>

          </executions>

          </plugin>

          </plugins>

          </build>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17

          制定JDK

          <reporting>

          <plugins>

          <plugin>

          <artifactId>maven-pmd-plugin</artifactId>

          <version>3.8</version>

          <configuration>

          <targetJdk>1.6</targetJdk>

          </configuration>

          </plugin>

          </plugins>

          </reporting>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11

          刪除PMD報告

          <reporting>

          <plugins>

          <plugin>

          <artifactId>maven-pmd-plugin</artifactId>

          <version>3.8</version>

          <reportSets>

          <reportSet>

          <reports>

          <report>pmd</report>

          <report>cpd</report>

          </reports>

          </reportSet>

          </reportSets>

          </plugin>

          </plugins>

          </reporting>

          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16

          沒事可以經(jīng)常去官網(wǎng)轉(zhuǎn)轉(zhuǎn),時不時有些新的打包插件出來。 比如PDF插件 GPG簽名插件 TOMCAT插件 JETTY插件 等。 好多好多。用時慢慢去了解。

          . 介紹

          剛開始接觸Jenkins,大部分都會從插件開始吧。我也是一樣。被各種插件弄的懵逼。

          本篇內(nèi)容只是簡單介紹各種插件的作用。

          2. 常見插件

          Jenkins 在初始化的時候,會推薦一些插件讓我們進行安裝。這些插件都是Jenkins社區(qū)推薦的,大部分人都會使用到的插件。

          還有一些插件,是我們自己在實際使用過程中,根據(jù)公司需求和個人需求進行安裝的一些插件。

          下面也是根據(jù)這兩種進行一個介紹。如果,工作使用的插件使用的頻率比較大,也可能會被Jenkins社區(qū)采納進行推薦。

          有些差距名稱后面有Plugin ,有些插件名稱后面沒有Plugin。 大家自己進行評判哦。

          下面配置的目錄,我是按照插件完整名稱定義的。

          2.1 Jenkins推薦插件

          Jenkins自帶推薦安裝的一些插件例如Git,F(xiàn)olders,BuildTimeout,Credentials Binding,

          Timestamper,Workspace Cleanup,Ant,Gradle,Pipeline,GitHub Branch Source等等

          這些插件可以說,是我們的Jenkins必備的插件了。在我們初始化的時候,就應該安裝好,如果沒有安裝好。就只能自己通過系統(tǒng)管理中進行安裝了。下面簡單介紹介紹上面的一些插件吧。

          Folders Plugin

          當前最新版本: 6.773.vd2dcc704ee7e。 (更新頻率比較高)

          插件地址:https://plugins.jenkins.io/cloudbees-folder/

          作用:該插件允許用戶創(chuàng)建“文件夾”來組織任務(wù)。用戶可以定義自定義分類法(例如,按項目類型、組織類型)。文件夾是可嵌套的,您可以在文件夾中定義視圖。

          安裝了該插件之后,我們在新建任務(wù)(新建 Item)時,可以新建任務(wù)類型中會多一個文件夾類型的選項。

          OWASP Markup Formatter Plugin

          當前版本:2.7

          插件地址:https://plugins.jenkins.io/antisamy-markup-formatter/

          作用:該插件允許使用安全的HTML子集格式化Jenkins中的作業(yè)、構(gòu)建、視圖等描述。該插件使用OWASP Java HTML Sanitizer和允許用戶提交文本中的有限HTML標記的基本策略來清理HTML源。

          簡單描述就是,用戶如果在構(gòu)建過程中輸入的文本為HTML,這個插件就可以限制這些輸入文本中的HTML標簽。避免該標準造成編譯問題。

          Build Timeout

          當前版本:1.24

          插件地址:https://plugins.jenkins.io/build-timeout/

          作用:該插件允許您在構(gòu)建時間過長時自動終止構(gòu)建。此插件不適用于管道(Pipelines),管道有自己的工作流超時步驟。

          我們可以在Build Steps中添加 Run with timeout 運行構(gòu)建超時,配置超時時間,以及超時之后的執(zhí)行任務(wù)等。

          可以調(diào)用DingTalk發(fā)送超時通知。

          Credentials Binding Plugin

          當前版本:523.vd859a_4b_122e6

          插件地址:https://plugins.jenkins.io/credentials-binding/

          作用:該插件允許將憑據(jù)綁定到環(huán)境變量,以便在其他構(gòu)建步驟中使用。該插件提供了一種簡單的方法,可以打包所有作業(yè)的秘密文件和密碼,并在構(gòu)建過程中使用單個環(huán)境變量訪問它們。

          我們在系統(tǒng)管理中添加的憑證控制等等,都是可以說基于該插件配置的。這個插件算是一個底層插件了。

          Timestamper

          當前版本: 1.20

          插件地址:https://plugins.jenkins.io/timestamper/

          作用:該插件允許設(shè)置任務(wù)log時間戳,將時間戳添加到Jenkins作業(yè)的控制臺輸出中。

          在構(gòu)建環(huán)境中勾選:Add timestamps to the Console Output 就可以讓我們的控制臺輸出log中每條記錄配置上時間戳了。如果時間戳顯示的日期格式不符合需求,我們可以在系統(tǒng)管理中的Configure System(系統(tǒng)配置)中找到Timestamper 然后定義我們自己的時間戳顯示效果,也可以定義Pipeline中的顯示效果。

          Workspace Cleanup Plugin

          當前版本:0.43

          插件地址:https://plugins.jenkins.io/ws-cleanup/

          作用:該插件用來清理工作空間。

          我們在構(gòu)建過程中jenkins會給我們生成一個workspace的工作空間,里面會存儲我們在構(gòu)造過程中產(chǎn)生的各種文檔(特別是Git拉取到的代碼)。該插件就允許我們在每次構(gòu)造前,將該工作空間清理干凈。(PS:我們每次構(gòu)造之后的構(gòu)建結(jié)果,不會存儲在該工作空間中,清理不會造成以前構(gòu)造的結(jié)果被刪除)。

          在構(gòu)建環(huán)境中勾選:Delete workspace before build starts 就可以在每次構(gòu)建時清理了。

          Ant Plugin

          當前版本:481.v7b_09e538fcca

          插件地址:https://plugins.jenkins.io/ant/

          作用:該插件用來給Jenkins添加Apache Ant的支持。

          我們項目編譯構(gòu)造過程中如果要使用到Ant的支持,那么這個插件就是一個核心插件了。有了它Jenkins 才能支持Ant。下面的Gradle和它類似。

          Gradle Plugin

          當前版本:2.0

          插件地址:https://plugins.jenkins.io/gradle/

          作用:該插件用來給Jenkins添加Gradle的支持。

          我們在編譯Android項目的時候,就是通過Gradle進行自動編譯構(gòu)建的。它和Ant 和Maven是一樣的。如果要編譯Android項目。那么該插件就是必須的。

          Pipeline

          當前版本:590.v6a_d052e5a_a_b_5

          插件地址:https://plugins.jenkins.io/workflow-aggregator/

          作用:該插件給Jenkins提供Pipeline功能。這個插件和它依賴的其他插件,整體組成了Jenkins 2.0的Pipeline功能。

          例如:

          Pipeline Graph Analysis Plugin : 提供 REST API的pipeline訪問和管理功能。

          Pipeline: API:定義管道API的插件。

          Pipeline: Basic Steps:添加管道步驟“build”以觸發(fā)其他作業(yè)的生成。

          Pipeline: Declarative:一個頑固的聲明性的管道。

          等等,配套的插件。這里就不擴展了。

          GitHub Branch Source Plugin

          當前版本:1695.v88de84e9f6b_9

          插件地址:https://plugins.jenkins.io/github-branch-source/

          作用:該插件允許從一個或多個GitHub用戶或組織創(chuàng)建基于存儲庫結(jié)構(gòu)的新項目。

          要使用該插件,我們在創(chuàng)建item的時候,類型選擇構(gòu)建一個多配置項目(Multi-configuration project)或者多管道項目(Multibranch Pipeline)等。

          Git

          當前版本:4.12.1

          插件地址:https://plugins.jenkins.io/git/

          作用:該插件為Jenkins項目提供了基本的git操作。它可以輪詢、提取、簽出、分支、列表、合并、標記和推送存儲庫。

          我們其實安裝該插件,就可以實現(xiàn)Git項目的代碼拉取了。

          這個是最基本核心的插件。后面Git client,Git server Plugin, GitHub plugin ,GitLab Plugin都是針對具體功能需求,減少操作步驟而封裝的各種專用場景下的插件。

          SSH Build Agents plugin

          當前版本:2.854.v7fd446b_337c9

          插件地址:https://plugins.jenkins.io/ssh-slaves/

          作用:該插件為Jenkins項目提供通過SSH啟動代理的方法。

          Matrix Authorization Strategy Plugin

          當前版本:3.1.5

          插件地址:https://plugins.jenkins.io/matrix-auth/

          作用:該插件在Jenkins中實現(xiàn)細粒度訪問控制。

          我們可以用這個插件實現(xiàn)各種安全選項控制,給與不同用戶訪問權(quán)限,已經(jīng)編輯和禁用相關(guān)安全工配置選項。

          這個插件是給管理員用的。普通使用者使用不到。

          PAM Authentication plugin

          當前版本:1.10

          插件地址:https://plugins.jenkins.io/pam-auth/

          作用:該插件在Jenkins中實現(xiàn)了Unix可插拔身份驗證模塊(PAM)的支持。

          PAM的完整單詞為:Pluggable Authentication Module

          LDAP Plugin

          當前版本:2.12

          插件地址:https://plugins.jenkins.io/ldap/

          作用:該插件提供了另一種使用LDAP驗證用戶的方法。它可以與Active Directory或OpenLDAP等LDAP服務(wù)器一起使用。

          我們?nèi)绻貌坏降脑挘强梢越迷摬寮摹?/span>

          LDAP指輕量目錄訪問協(xié)議,完整單詞為:Lightweight Directory Access Protocol

          Email Extension Plugin

          當前版本:2.92

          插件地址:https://plugins.jenkins.io/email-ext/

          作用:該插件允許您配置電子郵件通知的各個方面。您可以自定義電子郵件的發(fā)送時間、收件人以及電子郵件內(nèi)容。

          我們在Jenkins中實現(xiàn)的各種郵件通知功能,通常就是由該插件實現(xiàn)支持的。

          Mailer Plugin

          當前版本:438.v02c7f0a_12fa_4

          插件地址:https://plugins.jenkins.io/mailer/

          作用:此插件允許您為生成結(jié)果配置電子郵件通知。

          Mailer Plugin是一個提供了基本郵件通知的插件,但是該插件實現(xiàn)的功能比較少和簡單。例如我們想自定義郵件標題內(nèi)容等。那么就可以使用Email Extension Plugin插件了。Mailer Plugin這個是Jenkins系統(tǒng)插件。

          Localization: Chinese (Simplified)

          當前版本:1.0.24

          插件地址:https://plugins.jenkins.io/localization-zh-cn/

          作用:該插件為Jenkins 提供了簡體中文語言包。

          我們Jenkins中的各種配置項,有些是中文有些是英文,那就是這個插件包在生效。它對部分功能實現(xiàn)了翻譯,部分功能沒有翻譯造成的。我們?nèi)绻胧褂眉冇⑽陌姹究梢躁P(guān)閉該插件。

          推薦插件,到這里就介紹差不多了。我們?nèi)绻幻靼撞寮墓δ芸梢酝ㄟ^插件地址,去看詳細的介紹,唯一不美好的地方在于,詳細介紹中都是英文的。

          2.2 工作使用推薦插件

          把系統(tǒng)推薦的插件介紹完畢后,下面介紹一些工作中用到的。或者幫助我們提升Jenkins理解的插件。

          這些插件就屬于仁者見仁了。

          Environment Injector Plugin

          當前版本:2.881.v37c62073ff97

          插件地址:https://plugins.jenkins.io/envinject/

          作用:可以在編譯之后列出構(gòu)造過程中的環(huán)境變量,包括參數(shù)化構(gòu)造的環(huán)境變量。

          同時,也可以為任務(wù)設(shè)置自定義環(huán)境變量。例如可以將密碼安全的注入到構(gòu)造過程中。

          Build Environment Plugin

          當前版本:1.7

          插件地址:https://plugins.jenkins.io/build-environment

          作用:這個插件顯示了關(guān)于構(gòu)建環(huán)境的信息,并提供了比較兩個構(gòu)建環(huán)境的選項。它可以將我們整個構(gòu)建過程中的全局變量全部展示出來。相較于Environment Injector Plugin 插件,它能夠顯示更多的變量。

          我們?nèi)绻谑褂肎roovy腳本的時候,不知道有哪些全局屬性。或者我們構(gòu)造過程中用的很多插件,但是不知道那些插件有沒有暴露一些全局參數(shù)。都可以用這個接口進行測試和清理。

          同時它還能將參數(shù)數(shù)據(jù)進行一個記錄。跟隨每次構(gòu)建的輸出結(jié)果進行展示。

          GitLab Plugin

          當前版本:1.5.36

          插件地址:https://plugins.jenkins.io/gitlab-plugin/

          作用:該插件允許GitLab在提交代碼或打開/更新合并請求時觸發(fā)Jenkins中的構(gòu)建。它還可以將構(gòu)建狀態(tài)發(fā)送回GitLab。

          我們?nèi)绻椖渴峭ㄟ^GitLab進行控制的。那么可以用這個插件來實現(xiàn),git提交后自動構(gòu)建。

          同時也可以配置GitLab的相關(guān)認證。

          Upload to pgyer

          當前版本:2.1

          插件地址:https://plugins.jenkins.io/upload-pgyer/

          作用:可以將我們編譯后的Android應用或者ios應用上傳到蒲公英平臺。接口上傳完畢后,會自動返回相關(guān)下載鏈接之類的。

          Groovy Postbuild

          當前版本:2.5

          插件地址:https://plugins.jenkins.io/groovy-postbuild/

          作用:該插件將會在Jenkins JVM中執(zhí)行一個groovy腳本。我們可以通過Groovy腳本執(zhí)行一些事務(wù),并修改構(gòu)建結(jié)果。

          例如我在這篇文章中https://zinyan.com/?p=383 通過groovy腳本實現(xiàn)了釘釘消息的發(fā)送,就是一個http請求過程的觸發(fā)。

          如果我們使用Pipeline插件,可以不用額外安裝Groovy Postbuild因為有一個Pipeline: Groovy

          build user vars plugin

          當前版本:1.9

          插件地址:https://plugins.jenkins.io/build-user-vars-plugin/

          作用:該插件將會自動生成6個環(huán)境變量。讓我們在后面腳本等地方使用。

          Variable

          Description

          BUILD_USER

          Full name (first name + last name) 就是我們的登錄用戶名

          BUILD_USER_FIRST_NAME

          First name 用戶名開頭

          BUILD_USER_LAST_NAME

          Last name 用戶名結(jié)尾

          BUILD_USER_ID

          Jenkins user ID 用戶id

          BUILD_USER_GROUPS

          Jenkins user groups 用戶分組

          BUILD_USER_EMAIL

          Email address 用戶郵件地址

          有些構(gòu)建過程,需要知道是誰操作的。那么這個插件就可以便捷創(chuàng)建了。

          DingTalk

          當前版本:2.4.10

          插件地址:https://plugins.jenkins.io/dingding-notifications/

          作用:該插件可以將編譯過程通過釘釘機器人發(fā)送到我們的釘釘群中。

          這個插件安裝之后,必須重啟Jenkins才能在具體任務(wù)中生效的。

          NodeJs Plugin

          當前版本:1.5.1

          插件地址:https://plugins.jenkins.io/nodejs/

          作用:該插件為NodeJs & npm 項目提供Jenkins集成。前端頁面編譯構(gòu)造過程中會需要NodeJs。

          這個插件就必不可少。

          Build Name and Description Setter

          當前版本:2.2.0

          插件地址:https://plugins.jenkins.io/build-name-setter

          作用:該插件將構(gòu)建的顯示名稱設(shè)置為#1、#2、#3…之外的其他名稱,以便您可以使用在上下文中更有意義的標識符。安裝此插件時,您的作業(yè)配置頁面將獲得附加設(shè)置,允許您為每個新生成指定生成名稱。配置完畢后,也可以在Pipeline中使用。除了定義名稱外,還可以定義一些描述信息哦。

          Job Configuration History

          當前版本:1183.v6e2785ff75e0

          插件地址:https://plugins.jenkins.io/jobConfigHistory/

          作用:該插件保存所有作業(yè)和系統(tǒng)配置的副本。我們?nèi)绻渲猛戤吅螅氤蜂N以前的配置。那么這個插件就是神器了。

          如果你更改了某個配置,但是現(xiàn)在又想更改回去,沒有備份而且忘了,那么可以使用這個插件。

          它會在面板中創(chuàng)建一個Job Conflg History 菜單。將會顯示我們每一次的配置更改。我們可以一鍵回滾到指定配置

          Display Console Output

          當前版本:1.0.5

          插件地址:https://plugins.jenkins.io/display-console-output/

          作用:該插件可以直接在項目頁面展現(xiàn)上一個構(gòu)建的控制臺輸出界面。這樣我們點擊構(gòu)建后,可以很方便的看到構(gòu)建輸出日志了。建議安裝。

          Monitoring

          當前版本:1.91.0

          插件地址:https://plugins.jenkins.io/monitoring/

          作用:該插件通過JavaMelody監(jiān)控Jenkins的性能。

          Active Choices

          當前版本:2.6.4

          插件地址:https://plugins.jenkins.io/uno-choice

          作用:該插件用于參數(shù)化的自由式Jenkins作業(yè),以創(chuàng)建腳本化、動態(tài)和交互式作業(yè)參數(shù)。活動選項參數(shù)可以動態(tài)更新,并可以呈現(xiàn)為組合框、復選框、單選按鈕或豐富的HTML UI小部件。根據(jù)所選參數(shù),自動調(diào)出對應參數(shù)所依賴的后續(xù)參數(shù)。

          通俗解釋:在一個項目中,可以根據(jù)變量選擇,執(zhí)行不同的構(gòu)建腳本或者構(gòu)建過程。提高復用性。

          Git parameter

          當前版本:0.9.18

          插件地址:https://plugins.jenkins.io/git-parameter/

          作用:該插件允許您在構(gòu)建中指定git分支、標記、請求或修訂號作為參數(shù)。可以讓我們基于Git的參數(shù)化構(gòu)建。

          這個插件會自動使用Git 和 Git Client插件

          Gitee

          當前版本:1.2.7

          插件地址:https://plugins.jenkins.io/gitee/

          作用:該插件允許Gitee在提交代碼或打開/更新合并請求時觸發(fā)Jenkins中的構(gòu)建。它還可以將構(gòu)建狀態(tài)發(fā)送回Gitee。和上面的GitLab Plugin插件是一樣的。只是針對的平臺不一樣了而已。

          Jira

          當前版本:3.8

          插件地址:https://plugins.jenkins.io/jira/

          作用:該插件允許Jenkins執(zhí)行錯誤報點的記錄。如果通過JIRA記錄Bug列表。那么這個插件值得大家試試。

          插件將自動將所有匹配的問題名稱超鏈接到Jira。

          3.總結(jié)

          上面的插件,通過標題都可以在 https://plugins.jenkins.io/ 官方插件市場上查詢到。

          通過每個插件地址,都可以通過瀏覽器進行下載.hpi文件(Jenkins 插件的文件格式)。

          安裝插件有兩種方式:

          1. 通過Jenkins后臺的系統(tǒng)管理中的插件管理的Available plugins 進行搜索安裝。
          2. 通過插件管理中的Advanced Setting面板的Deploy Plugin功能,上傳hpi文件后點擊Deploy按鈕進行本地上傳安裝。

          所有介紹到這里就結(jié)束了。希望能夠解決大家的一部分疑惑。


          主站蜘蛛池模板: 久久精品国产第一区二区三区| 国产精品一区二区av不卡| 波多野结衣电影区一区二区三区| 国产一区二区中文字幕| 无码视频免费一区二三区| 中文字幕在线视频一区| 寂寞一区在线观看| 亚洲国产精品第一区二区| 久久精品亚洲一区二区三区浴池 | 五十路熟女人妻一区二区| 国产精品第一区揄拍| 一区二区高清视频在线观看| 大伊香蕉精品一区视频在线| 99久久人妻精品免费一区| 亚洲国产成人久久一区WWW | 国产成人精品日本亚洲专一区| 亚洲一区二区三区在线观看网站| 亚洲一区二区三区乱码A| 无码午夜人妻一区二区不卡视频| 精品国产一区二区三区麻豆| 久久国产精品免费一区| 一区二区三区四区电影视频在线观看| 久久精品一区二区国产| 日本免费电影一区二区| 成人区人妻精品一区二区不卡视频 | 日韩欧美一区二区三区免费观看| 亚洲AV综合色区无码一区| 伊人久久精品无码av一区| 亚洲乱码日产一区三区| 无码人妻精品一区二区| 亚洲福利电影一区二区?| 中文字幕乱码一区久久麻豆樱花| 无码乱人伦一区二区亚洲| 亚洲一区二区三区国产精品无码| 99精品一区二区免费视频| 波多野结衣精品一区二区三区 | 免费无码一区二区三区蜜桃大| 亲子乱av一区区三区40岁| 日韩一区二区三区精品| 日本一区二区三区高清| 亚洲国产美女福利直播秀一区二区|