<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      【過程改進(jìn)】 windows下jenkins常見問題填坑

      2014-03-27 17:37  熬夜的蟲子  閱讀(20963)  評論(4)    收藏  舉報

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


      目錄

        1. 主從節(jié)點

        2. Nuget自動包還原

        3. powershell部署

        4. 內(nèi)網(wǎng)機器實現(xiàn)基于變化的構(gòu)建

        5. Github私有項目pull時限


        所謂主從,主要應(yīng)用的場景例如多種環(huán)境(windows/linux,.net/java/php)需要不同的構(gòu)建基礎(chǔ),而我們又不想都將一系列的步驟和環(huán)境混雜在一臺構(gòu)建服務(wù)器上,所以類似于go中的代理,jenkins也提供了slave節(jié)點的概念,大家可以把不同類別的項目的構(gòu)建部署在分類的節(jié)點服務(wù)器上。節(jié)點服務(wù)器不需要安裝完整的jenkins包,構(gòu)建事件的分發(fā)由master端來執(zhí)行。

      這里需要注意的就是主從節(jié)點之間的通信,我這里選擇是將從節(jié)點以windows service的方式啟動,而我碰到的坑就是環(huán)境變量的配置問題,當(dāng)我在主從服務(wù)都安裝好jdk并且配置完環(huán)境變量后,發(fā)現(xiàn)啟動從節(jié)點時還是怎么都找不到j(luò)dk,卡了半個小時才發(fā)現(xiàn)jenkins 從節(jié)點的環(huán)境變量是需要在web系統(tǒng)中配置的,此坑填平,后者慎入。

      至于slave端的分配在構(gòu)建配置中

       


        用.net開發(fā)的同學(xué)nuget應(yīng)該大多都涉及到,類似java的maven,神器之一,不多說。如果用visual studio開發(fā)這里會有一個選項

      選中這里的話 會再在你rebuild項目的時候 自動將丟失的包補齊,當(dāng)然僅限于公眾平臺上的內(nèi)容,如果是同學(xué)們自己開發(fā)的local版本的包還會遇到另外的問題,這里我們重點不計較這些。

      回到j(luò)enkins上來因為jenkins的構(gòu)建條件中目前還不支持直接使用.net的ide,所以我們需要安裝msbuild的插件

      裝完以后構(gòu)建后發(fā)現(xiàn)編譯失敗,各種組件丟失。這里再填一坑,首先卸載我們的主要輸出項目,然后編輯項目屬性內(nèi)容,在最后加上一個節(jié)點配置

      <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通過一個項目后,我們需要將他部署在一臺測試服務(wù)器上,但是我們的數(shù)據(jù)庫配置需要修改,如何去除人工的干預(yù),這里就需要使用到powershell或者其他工具了。

      powershell的使用你可以分為2種,一種是寫好ps腳本然后通過batch command中powershell命令來完成,另外一種是jenkins直接安裝powershell命令,這里更推薦后者,因為有些時候你并沒有權(quán)限上服務(wù)器上修改腳本或者其他元素,所有后者更直觀簡單,簡單的數(shù)據(jù)庫連接修改腳本

      $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;password=!@#qqq" providerName="System.Data.SqlClient" '
      } | Set-Content $destination_file -encoding UTF8

       

        如果我們的master機器部署在內(nèi)網(wǎng),github通過hook的方式回調(diào)不到,那么我們就很難基于github項目的push動作來進(jìn)行基于版本的即時構(gòu)建。怎么辦?這里可以使用一個取巧的辦法

      在poll scm模式下選擇* * * * *,當(dāng)系統(tǒng)發(fā)現(xiàn)本地文件沒有變更時,會忽略掉此次構(gòu)建。


        github私有項目,主要也就是ssh授權(quán)的問題,這里的坑不是權(quán)限認(rèn)證問題,而是github插件的時限問題,默認(rèn)是10分鐘,由于某些項目可能資源比較大,第一次pull的時候耗費時間比較長,但是控制臺提示一直停留在認(rèn)證那個階段,讓操作人員誤以為是認(rèn)證問題,這個估計也算個坑吧。填坑方法如下圖:

      ok 簡單的填坑總結(jié)。有些問題雖然小但是一點一點排查總歸還是浪費時間,希望對大家有幫助

      主站蜘蛛池模板: 国产成人精品一区二三区| 欧美高清狂热视频60一70| 国精品91人妻无码一区二区三区 | 少妇人妻偷人偷人精品| 国产玖玖视频| 亚洲欧洲日产国码久在线| 国产在线精品福利91香蕉| 免费又大粗又爽又黄少妇毛片| 中文字幕无码av波多野吉衣| 国产AV无码专区亚洲AV漫画| 国精品午夜福利视频不卡| 与子乱对白在线播放单亲国产| 亚洲乱理伦片在线观看中字| 人妻精品久久无码区| 日韩黄色av一区二区三区| 少妇av一区二区三区无码| 精品精品亚洲高清a毛片| 亚洲AV永久无码天堂网一线| 博罗县| 久久久久青草线蕉综合超碰| 免费A级毛片樱桃视频| 亚洲最大成人av在线天堂网| 国精品91人妻无码一区二区三区| 国产短视频精品一区二区| 国产成人免费| 人妻少妇精品视频专区| 国产精品无码久久久久AV| 亚洲性色AV一区二区三区| 房产| 欧美日韩国产图片区一区| 无码人妻人妻经典| 高密市| 97人妻无码一区| 亚洲精品无码成人A片九色播放| 成人性生交大片免费看r老牛网站 中文字幕一区二区三区四区五区 久久久久久毛片免费播放 | 公天天吃我奶躁我的在| 中文字幕日韩人妻一区| 97精品人妻系列无码人妻| 50岁熟妇的呻吟声对白| 元氏县| 狠狠色综合久久丁香婷婷|