windows下jenkins常見問題填坑

來源:互聯網
上載者:User

標籤:

 沒有什麼高深的東西,1 2天的時間大多數人都能自己摸索出來,這裡將自己遇到過的問題分享出來避免其他同學再一次挖坑.

目錄

  1. 主從節點

  2. Nuget自動包還原

  3. powershell部署

  4. 內網機器實現基於變化的構建

  5. Github私人項目pull時限

  所謂主從,主要應用的情境例如多種環境(windows/linux,.net/java/php)需要不同的構建基礎,而我們又不想都將一系列的步驟和環境混雜在一台構建伺服器上,所以類似於go中的代理,jenkins也提供了slave節點的概念,大家可以把不同類別的項目的構建部署在分類的節點伺服器上。節點伺服器不需要安裝完整的jenkins包,構建事件的分發由master端來執行。

這裡需要注意的就是主從節點之間的通訊,我這裡選擇是將從節點以windows service的方式啟動,而我碰到的坑就是環境變數的配置問題,當我在主從服務都安裝好jdk並且配置完環境變數後,發現啟動從節點時還是怎麼都找不到jdk,卡了半個小時才發現jenkins 從節點的環境變數是需要在web系統中配置的,此坑填平,後者慎入。

至於slave端的分配在構建配置中

 

  用.net開發的同學nuget應該大多都涉及到,類似java的maven,神器之一,不多說。如果用visual studio開發這裡會有一個選項

選中這裡的話 會再在你rebuild項目的時候 自動將丟失的包補齊,當然僅限於公眾平台上的內容,如果是同學們自己開發的local版本的包還會遇到另外的問題,這裡我們重點不計較這些。

回到jenkins上來因為jenkins的構建條件中目前還不支援直接使用.net的ide,所以我們需要安裝msbuild的外掛程式

裝完以後構建後發現編譯失敗,各種組件丟失。這裡再填一坑,首先卸載我們的主要輸出項目,然後編輯項目屬性內容,在最後加上一個節點配置

?
1234 <Target Name="AfterBuild">    <MSBuild Condition="‘$(Configuration)|$(Platform)‘ == ‘Release|x86‘" Projects="NuGet\NuGet.msbuild" />  </Target>  <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists(‘$(SolutionDir)\.nuget\NuGet.targets‘)" />  

  還原項目,這樣再使用msbuild命令就OK了。

  powershell的使用情境可以這樣理解,在我們build通過一個項目後,我們需要將他部署在一台測試伺服器上,但是我們的資料庫配置需要修改,如何去除人工的幹預,這裡就需要使用到powershell或者其他工具了。

powershell的使用你可以分為2種,一種是寫好ps指令碼然後通過batch command中powershell命令來完成,另外一種是jenkins直接安裝powershell命令,這裡更推薦後者,因為有些時候你並沒有許可權上伺服器上修改指令碼或者其他元素,所有後者更直觀簡單,簡單的資料庫連接修改指令碼

?
12345 $original_file = ‘xx\web.config‘$destination_file ‘xx\web.config‘(Get-Content $original_file) | Foreach-Object {    $_ -replace ‘name="dbdemo" connectionstring=".+" ‘, ‘name="dbdemo"  connectionString="server=(local);database=basedemo;user id=demoUser;[email protected]#qqq" providerName="System.Data.SqlClient" ‘} | Set-Content $destination_file -encoding UTF8

windows下jenkins常見問題填坑

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.