Pipeline使用了groovy語法,同時可以使用所有jenkins插件在groovy里進行調用,可以說通過UI可以實現的功能使用pipeline也可以實現,這一點我在上一篇文章里已經說明,今天主要說一下pipeline里的公用類庫,你可以自己定義方法,一般地一個方法一個文件,擴展名為groovy ...
Pipeline使用了groovy語法,同時可以使用所有jenkins插件在groovy里進行調用,可以說通過UI可以實現的功能使用pipeline也可以實現,這一點我在上一篇文章里已經說明,今天主要說一下pipeline里的公用類庫,你可以自己定義方法,一般地一個方法一個文件,擴展名為groovy,然後把它放在vars文件夾里,通過@Library('pilipa-library'來引用它,然後在代碼里就可以調用了,具體需要以下幾個步驟:
1 添加項目文件夾,在文件夾配置里進行公用類庫的配置
2 在git倉庫根目錄建立vars文件夾,我們的方法文件就在這個裡面
3 添加具體的方法文件,擴展名為groovy,文件名即為方法名
4 buildProject.groovy這個文件就是方法,它主要實現的功能是運行一個.net core容器,把當前項目複製到容器,編譯項目,發佈項目等。
def call(src,workDir) { sh "docker run --rm --tty --user root -v ${src}/:/src/ --workdir=${workDir} microsoft/dotnet:latest sh -c 'ls && dotnet restore --configfile NuGet.Config && dotnet build && dotnet publish -o publish'" }
5 最後就在自己的jenkins pipeline里調用它就可以了
@Library('aspnetcore-library') __
buildProject("${WORKSPACE}","/src/OCRManager")
本次pipeline公用類庫的介紹就到這裡!再次強調一下,對於Dockerfile來說,它會自動生成一個.dockerignore的文件,大家可以把它刪除,因為它會約束你Dockerfile里使用的輸出路徑為obj\docker\publish,大家一定要註意一下!
感謝各位閱讀!