所謂工欲善其事,必先利其器。對于前端開發者來說,選擇一款趁手的開發工具,不僅可以提高開發效率,甚至可以達到事半功倍的效果。目前,市面上前端開發工具非常多,比如VS Code、Web Storm、Atom、Hbuilder、SublimeText3,其中VS Code與Web Storm是其中個人體驗比較好的兩款。Web Storm是jetbrains公司旗下一款JavaScript 開發工具,即插即用,不需要過多的配置,另外Web Storm的智能提示堪稱神級,很值得去用。但是VS Code相對于Web Strom最大的優勢在于免費,而且VS Code占用內存小,插件很多,可以通過安裝插件,打造一個適合自己的開發環境,VS Code其實就是一個披著編輯器外衣的IDE。由于Web Storm更像一個生產工具,因此,個人比較推薦VS Code,可以在學習階段增強對前端的語法以及相關內容的記憶,增加前端開發的熟練度。其中Visual Studio Code搭建前端開發環境步驟如下:
第一步,下載Visual Studio Code,通過網站搜索Visual Studio Code進入相應的下載頁面或者直接打開https://code.visualstudio.com/Download/進入,然后選擇對應電腦操作系統的版本進行下載。(注:Windows有兩個版本,一個是User Installer,一個是System Iinstaller,前者是安裝在當前電腦登錄賬戶目錄下,而后者安裝在非用戶目錄下,個人建議選擇后者,因為不會因為用其它賬戶登錄系統而無法使用。)
Visual Studio Code下載頁面
第二步,安裝Visual Studio Code,Mac版下載后可直接打開使用將下載的文件拖拽至啟動臺,之后會在啟動臺看到Visual Studio Code的圖標,Windows版本直接點擊下一步,其中可以根據需要選擇相應的安裝目錄即可。
Windows版本選擇相應安裝目錄
第三步,打開Visual Studio Code,安裝相應插件,安裝完成后需要重啟使插件生效。由于目前只用于前端開發,個人建議,只需安裝Live Server、Prettier 、vscode-icons、HTML Snippets、Auto Close Tag、IntelliSense for CSS class names in HTML、Atuo Rename Tag。
Live Server:實時加載功能的服務器,保存代碼后可以在網頁中實時看到效果;
Prettier :代碼格式化;
vscode-icons:文件顯示圖標;
HTML Snippets:自動填充html標簽;
Auto Close Tag:自動添加閉合/結束標簽;
Atuo Rename Tag:修改 html 標簽,自動幫你完成尾部閉合標簽的同步修改;
IntelliSense for CSS class names in HTML:據所輸入的class所在或link元素引入的外部文件中找到相應的類名稱并提示給html。
插件安裝界面
第四步,對VS Code進行相關配置,此處只修改相應的字體大小、界面主題以及文件圖標。
1、進入配置界面
進入Visual Studio Code設置界面
2、設置字體大小
設置字體大小
3、設置VS Code主題
設置Visual Studio Code界面主題
4、設置文件圖標顯示
設置Visual Studio Code文件圖標樣式
第五步、創建第一個頁面并通過Live Server看頁面效果
1、創建頁面并打開頁面
點擊file選擇new file,然后保存并命名為demo.html,在VS Code的編輯界面輸入感嘆號(英文輸入法狀態下)提示按回車即會生成一個完整的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打包插件總結:
一、自帶插件:
maven自帶的核心插件為Build plugins和Reporting plugins。
mvn compile編譯源碼實際上就利用到了maven-compiler-plugin,其他phase也類似用到了相應的插件
關于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來進行編譯,需要添加參數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>
<!-- 傳遞編譯參數 -->
<arg>-verbose</arg>
<arg>-Xlint:all,-options,-path</arg>
</compilerArgs>
<fork>true</fork>
<!-- 配置編譯內存參數 -->
<meminitial>128m</meminitial>
<!-- 初始內存 -->
<maxmem>512m</maxmem>
<!-- 最大內存 -->
<executable>${JAVA_1_4_HOME}/bin/javac</executable>
<!-- 指定編譯的java庫 -->
<compilerVersion>1.3</compilerVersion>
<!-- 指定編譯版本 -->
</configuration>
</plugin>
配置source 和target時,也可以這樣配置 實際上這是javac指令可以接受的參數
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
二、直接打成可執行的jar包。
這種打包方式比較粗暴,將應用的依賴包和程序包打成一個全量包。包會相對較大,但是好處也很明顯,不用管依賴包。所以這種方式只適用于比較小的項目,比如搭建微服務這種方式可以適用。
附上關鍵的服務器執行代碼
java -jar dataCleaner.jar 1>/home/credit/app/tracefile 2>/home/credit/app/errorfile &
說明: 最后面的& 表明后臺執行。
1> 將運行日志輸出到tracefile
2> 將錯誤日志輸出到errorfile
具體參數很多,參考官網頁面
官網頁面 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>
還一種方式,可以使用spring-boot的打包插件進行打包。一般是跟spring boot一起使用的,但是也可以單獨利用出來打成可執行的整包。
<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>
補充一下,還有一個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>
三 將依賴包與代碼包分開打包
這種打包方式更普遍適用。畢竟依賴的jar包在項目發展中變動會相對較小。一般可配合maven-dependency-plugin 和 maven-jar-plugin 兩個插件打包。前者負責依賴包,后者負責程序包。
另外,附上服務器可用的執行腳本。
more runapp.sh
#!/bin/sh
#執行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
#調用java指令執行。-D輸入參數 java中可以用 System.getProperties讀取。同時指定執行入口類 SpringBootApplication 這是一個典型的Springboot的執行方式。
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!
assembly官網的其他幾個示例使用項目的依賴包進行打包
<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>
將指定的包打入依賴包
<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>
一個可用的示例
<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>
四、maven-jar-plugin 將指定的一些文件打包成jar包
這個比較簡單。就將指定的文件打成jar包
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration> <!-- manifest配置信息 主要是可以配置主執行類。有主執行類,可以用java-jar直接執行。沒有的話就需要指定執行類 -->
<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>
五、其他豐富的三方插件
PMD打包插件。 PMD一個很好用的靜態代碼檢查插件, 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>
分析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>
代碼非法檢查
<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>
制定JDK
<reporting>
<plugins>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.8</version>
<configuration>
<targetJdk>1.6</targetJdk>
</configuration>
</plugin>
</plugins>
</reporting>
刪除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>
沒事可以經常去官網轉轉,時不時有些新的打包插件出來。 比如PDF插件 GPG簽名插件 TOMCAT插件 JETTY插件 等。 好多好多。用時慢慢去了解。
剛開始接觸Jenkins,大部分都會從插件開始吧。我也是一樣。被各種插件弄的懵逼。
本篇內容只是簡單介紹各種插件的作用。
Jenkins 在初始化的時候,會推薦一些插件讓我們進行安裝。這些插件都是Jenkins社區推薦的,大部分人都會使用到的插件。
還有一些插件,是我們自己在實際使用過程中,根據公司需求和個人需求進行安裝的一些插件。
下面也是根據這兩種進行一個介紹。如果,工作使用的插件使用的頻率比較大,也可能會被Jenkins社區采納進行推薦。
有些差距名稱后面有Plugin ,有些插件名稱后面沒有Plugin。 大家自己進行評判哦。
下面配置的目錄,我是按照插件完整名稱定義的。
Jenkins自帶推薦安裝的一些插件例如Git,Folders,BuildTimeout,Credentials Binding,
Timestamper,Workspace Cleanup,Ant,Gradle,Pipeline,GitHub Branch Source等等
這些插件可以說,是我們的Jenkins必備的插件了。在我們初始化的時候,就應該安裝好,如果沒有安裝好。就只能自己通過系統管理中進行安裝了。下面簡單介紹介紹上面的一些插件吧。
當前最新版本: 6.773.vd2dcc704ee7e。 (更新頻率比較高)
插件地址:https://plugins.jenkins.io/cloudbees-folder/
作用:該插件允許用戶創建“文件夾”來組織任務。用戶可以定義自定義分類法(例如,按項目類型、組織類型)。文件夾是可嵌套的,您可以在文件夾中定義視圖。
安裝了該插件之后,我們在新建任務(新建 Item)時,可以新建任務類型中會多一個文件夾類型的選項。
當前版本:2.7
插件地址:https://plugins.jenkins.io/antisamy-markup-formatter/
作用:該插件允許使用安全的HTML子集格式化Jenkins中的作業、構建、視圖等描述。該插件使用OWASP Java HTML Sanitizer和允許用戶提交文本中的有限HTML標記的基本策略來清理HTML源。
簡單描述就是,用戶如果在構建過程中輸入的文本為HTML,這個插件就可以限制這些輸入文本中的HTML標簽。避免該標準造成編譯問題。
當前版本:1.24
插件地址:https://plugins.jenkins.io/build-timeout/
作用:該插件允許您在構建時間過長時自動終止構建。此插件不適用于管道(Pipelines),管道有自己的工作流超時步驟。
我們可以在Build Steps中添加 Run with timeout 運行構建超時,配置超時時間,以及超時之后的執行任務等。
可以調用DingTalk發送超時通知。
當前版本:523.vd859a_4b_122e6
插件地址:https://plugins.jenkins.io/credentials-binding/
作用:該插件允許將憑據綁定到環境變量,以便在其他構建步驟中使用。該插件提供了一種簡單的方法,可以打包所有作業的秘密文件和密碼,并在構建過程中使用單個環境變量訪問它們。
我們在系統管理中添加的憑證控制等等,都是可以說基于該插件配置的。這個插件算是一個底層插件了。
當前版本: 1.20
插件地址:https://plugins.jenkins.io/timestamper/
作用:該插件允許設置任務log時間戳,將時間戳添加到Jenkins作業的控制臺輸出中。
在構建環境中勾選:Add timestamps to the Console Output 就可以讓我們的控制臺輸出log中每條記錄配置上時間戳了。如果時間戳顯示的日期格式不符合需求,我們可以在系統管理中的Configure System(系統配置)中找到Timestamper 然后定義我們自己的時間戳顯示效果,也可以定義Pipeline中的顯示效果。
當前版本:0.43
插件地址:https://plugins.jenkins.io/ws-cleanup/
作用:該插件用來清理工作空間。
我們在構建過程中jenkins會給我們生成一個workspace的工作空間,里面會存儲我們在構造過程中產生的各種文檔(特別是Git拉取到的代碼)。該插件就允許我們在每次構造前,將該工作空間清理干凈。(PS:我們每次構造之后的構建結果,不會存儲在該工作空間中,清理不會造成以前構造的結果被刪除)。
在構建環境中勾選:Delete workspace before build starts 就可以在每次構建時清理了。
當前版本:481.v7b_09e538fcca
插件地址:https://plugins.jenkins.io/ant/
作用:該插件用來給Jenkins添加Apache Ant的支持。
我們項目編譯構造過程中如果要使用到Ant的支持,那么這個插件就是一個核心插件了。有了它Jenkins 才能支持Ant。下面的Gradle和它類似。
當前版本:2.0
插件地址:https://plugins.jenkins.io/gradle/
作用:該插件用來給Jenkins添加Gradle的支持。
我們在編譯Android項目的時候,就是通過Gradle進行自動編譯構建的。它和Ant 和Maven是一樣的。如果要編譯Android項目。那么該插件就是必須的。
當前版本: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”以觸發其他作業的生成。
Pipeline: Declarative:一個頑固的聲明性的管道。
等等,配套的插件。這里就不擴展了。
當前版本:1695.v88de84e9f6b_9
插件地址:https://plugins.jenkins.io/github-branch-source/
作用:該插件允許從一個或多個GitHub用戶或組織創建基于存儲庫結構的新項目。
要使用該插件,我們在創建item的時候,類型選擇構建一個多配置項目(Multi-configuration project)或者多管道項目(Multibranch Pipeline)等。
當前版本:4.12.1
插件地址:https://plugins.jenkins.io/git/
作用:該插件為Jenkins項目提供了基本的git操作。它可以輪詢、提取、簽出、分支、列表、合并、標記和推送存儲庫。
我們其實安裝該插件,就可以實現Git項目的代碼拉取了。
這個是最基本核心的插件。后面Git client,Git server Plugin, GitHub plugin ,GitLab Plugin都是針對具體功能需求,減少操作步驟而封裝的各種專用場景下的插件。
當前版本:2.854.v7fd446b_337c9
插件地址:https://plugins.jenkins.io/ssh-slaves/
作用:該插件為Jenkins項目提供通過SSH啟動代理的方法。
當前版本:3.1.5
插件地址:https://plugins.jenkins.io/matrix-auth/
作用:該插件在Jenkins中實現細粒度訪問控制。
我們可以用這個插件實現各種安全選項控制,給與不同用戶訪問權限,已經編輯和禁用相關安全工配置選項。
這個插件是給管理員用的。普通使用者使用不到。
當前版本:1.10
插件地址:https://plugins.jenkins.io/pam-auth/
作用:該插件在Jenkins中實現了Unix可插拔身份驗證模塊(PAM)的支持。
PAM的完整單詞為:Pluggable Authentication Module
當前版本:2.12
插件地址:https://plugins.jenkins.io/ldap/
作用:該插件提供了另一種使用LDAP驗證用戶的方法。它可以與Active Directory或OpenLDAP等LDAP服務器一起使用。
我們如果用不到的話,是可以禁用該插件的。
LDAP指輕量目錄訪問協議,完整單詞為:Lightweight Directory Access Protocol
當前版本:2.92
插件地址:https://plugins.jenkins.io/email-ext/
作用:該插件允許您配置電子郵件通知的各個方面。您可以自定義電子郵件的發送時間、收件人以及電子郵件內容。
我們在Jenkins中實現的各種郵件通知功能,通常就是由該插件實現支持的。
當前版本:438.v02c7f0a_12fa_4
插件地址:https://plugins.jenkins.io/mailer/
作用:此插件允許您為生成結果配置電子郵件通知。
Mailer Plugin是一個提供了基本郵件通知的插件,但是該插件實現的功能比較少和簡單。例如我們想自定義郵件標題內容等。那么就可以使用Email Extension Plugin插件了。Mailer Plugin這個是Jenkins系統插件。
當前版本:1.0.24
插件地址:https://plugins.jenkins.io/localization-zh-cn/
作用:該插件為Jenkins 提供了簡體中文語言包。
我們Jenkins中的各種配置項,有些是中文有些是英文,那就是這個插件包在生效。它對部分功能實現了翻譯,部分功能沒有翻譯造成的。我們如果想使用純英文版本可以關閉該插件。
推薦插件,到這里就介紹差不多了。我們如果不明白插件的功能可以通過插件地址,去看詳細的介紹,唯一不美好的地方在于,詳細介紹中都是英文的。
把系統推薦的插件介紹完畢后,下面介紹一些工作中用到的。或者幫助我們提升Jenkins理解的插件。
這些插件就屬于仁者見仁了。
當前版本:2.881.v37c62073ff97
插件地址:https://plugins.jenkins.io/envinject/
作用:可以在編譯之后列出構造過程中的環境變量,包括參數化構造的環境變量。
同時,也可以為任務設置自定義環境變量。例如可以將密碼安全的注入到構造過程中。
當前版本:1.7
插件地址:https://plugins.jenkins.io/build-environment
作用:這個插件顯示了關于構建環境的信息,并提供了比較兩個構建環境的選項。它可以將我們整個構建過程中的全局變量全部展示出來。相較于Environment Injector Plugin 插件,它能夠顯示更多的變量。
我們如果在使用Groovy腳本的時候,不知道有哪些全局屬性。或者我們構造過程中用的很多插件,但是不知道那些插件有沒有暴露一些全局參數。都可以用這個接口進行測試和清理。
同時它還能將參數數據進行一個記錄。跟隨每次構建的輸出結果進行展示。
當前版本:1.5.36
插件地址:https://plugins.jenkins.io/gitlab-plugin/
作用:該插件允許GitLab在提交代碼或打開/更新合并請求時觸發Jenkins中的構建。它還可以將構建狀態發送回GitLab。
我們如果項目是通過GitLab進行控制的。那么可以用這個插件來實現,git提交后自動構建。
同時也可以配置GitLab的相關認證。
當前版本:2.1
插件地址:https://plugins.jenkins.io/upload-pgyer/
作用:可以將我們編譯后的Android應用或者ios應用上傳到蒲公英平臺。接口上傳完畢后,會自動返回相關下載鏈接之類的。
當前版本:2.5
插件地址:https://plugins.jenkins.io/groovy-postbuild/
作用:該插件將會在Jenkins JVM中執行一個groovy腳本。我們可以通過Groovy腳本執行一些事務,并修改構建結果。
例如我在這篇文章中https://zinyan.com/?p=383 通過groovy腳本實現了釘釘消息的發送,就是一個http請求過程的觸發。
如果我們使用Pipeline插件,可以不用額外安裝Groovy Postbuild因為有一個Pipeline: Groovy
當前版本:1.9
插件地址:https://plugins.jenkins.io/build-user-vars-plugin/
作用:該插件將會自動生成6個環境變量。讓我們在后面腳本等地方使用。
Variable | Description |
BUILD_USER | Full name (first name + last name) 就是我們的登錄用戶名 |
BUILD_USER_FIRST_NAME | First name 用戶名開頭 |
BUILD_USER_LAST_NAME | Last name 用戶名結尾 |
BUILD_USER_ID | Jenkins user ID 用戶id |
BUILD_USER_GROUPS | Jenkins user groups 用戶分組 |
BUILD_USER_EMAIL | Email address 用戶郵件地址 |
有些構建過程,需要知道是誰操作的。那么這個插件就可以便捷創建了。
當前版本:2.4.10
插件地址:https://plugins.jenkins.io/dingding-notifications/
作用:該插件可以將編譯過程通過釘釘機器人發送到我們的釘釘群中。
這個插件安裝之后,必須重啟Jenkins才能在具體任務中生效的。
當前版本:1.5.1
插件地址:https://plugins.jenkins.io/nodejs/
作用:該插件為NodeJs & npm 項目提供Jenkins集成。前端頁面編譯構造過程中會需要NodeJs。
這個插件就必不可少。
當前版本:2.2.0
插件地址:https://plugins.jenkins.io/build-name-setter
作用:該插件將構建的顯示名稱設置為#1、#2、#3…之外的其他名稱,以便您可以使用在上下文中更有意義的標識符。安裝此插件時,您的作業配置頁面將獲得附加設置,允許您為每個新生成指定生成名稱。配置完畢后,也可以在Pipeline中使用。除了定義名稱外,還可以定義一些描述信息哦。
當前版本:1183.v6e2785ff75e0
插件地址:https://plugins.jenkins.io/jobConfigHistory/
作用:該插件保存所有作業和系統配置的副本。我們如果配置完畢后,想撤銷以前的配置。那么這個插件就是神器了。
如果你更改了某個配置,但是現在又想更改回去,沒有備份而且忘了,那么可以使用這個插件。
它會在面板中創建一個Job Conflg History 菜單。將會顯示我們每一次的配置更改。我們可以一鍵回滾到指定配置
當前版本:1.0.5
插件地址:https://plugins.jenkins.io/display-console-output/
作用:該插件可以直接在項目頁面展現上一個構建的控制臺輸出界面。這樣我們點擊構建后,可以很方便的看到構建輸出日志了。建議安裝。
當前版本:1.91.0
插件地址:https://plugins.jenkins.io/monitoring/
作用:該插件通過JavaMelody監控Jenkins的性能。
當前版本:2.6.4
插件地址:https://plugins.jenkins.io/uno-choice
作用:該插件用于參數化的自由式Jenkins作業,以創建腳本化、動態和交互式作業參數?;顒舆x項參數可以動態更新,并可以呈現為組合框、復選框、單選按鈕或豐富的HTML UI小部件。根據所選參數,自動調出對應參數所依賴的后續參數。
通俗解釋:在一個項目中,可以根據變量選擇,執行不同的構建腳本或者構建過程。提高復用性。
當前版本:0.9.18
插件地址:https://plugins.jenkins.io/git-parameter/
作用:該插件允許您在構建中指定git分支、標記、請求或修訂號作為參數。可以讓我們基于Git的參數化構建。
這個插件會自動使用Git 和 Git Client插件
當前版本:1.2.7
插件地址:https://plugins.jenkins.io/gitee/
作用:該插件允許Gitee在提交代碼或打開/更新合并請求時觸發Jenkins中的構建。它還可以將構建狀態發送回Gitee。和上面的GitLab Plugin插件是一樣的。只是針對的平臺不一樣了而已。
當前版本:3.8
插件地址:https://plugins.jenkins.io/jira/
作用:該插件允許Jenkins執行錯誤報點的記錄。如果通過JIRA記錄Bug列表。那么這個插件值得大家試試。
插件將自動將所有匹配的問題名稱超鏈接到Jira。
上面的插件,通過標題都可以在 https://plugins.jenkins.io/ 官方插件市場上查詢到。
通過每個插件地址,都可以通過瀏覽器進行下載.hpi文件(Jenkins 插件的文件格式)。
安裝插件有兩種方式:
所有介紹到這里就結束了。希望能夠解決大家的一部分疑惑。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。