Jenkins:設定一次後就很方便的排程工具

    xiaoxiao2021-03-25  41

    Jenkins擁有定時排程功能

    Jenlins可以結合GIt,達到維持本機端程式碼為最新版本

    Jenkins可以結合Unity,達到定期自動編譯版本的功能

    Jenkins可以結合CIFS(網路芳鄰),達到自動複製檔案至網芳的目的

    Jenkins可以結合SVN,達到更新本機端資料為最新版本

    所以當專案使用了Jenkins可以達到幾個目的

    1.可以在每周的某個固定時間點,自動產當前的最新版本給QA做測試,可以省去占用程式協助產檔的時間

    2.當非程式人員臨時需要取得當前最新版本的時候,可以自行啟動Jenkins的自動編譯版本的功能取得最新版本,完全不需要程式人員的協助

    3.可以在每月的某個固定時間點,自動備份SVN檔案至區網上的網路硬碟內

    P.S.Jenkins不同的版本可能會有不少差距,以下說明為1.651.1的版本

    一.安裝 Jenkins官網 https://jenkins.io/ 下載Window版本 安裝Jenkins 開啟瀏覽器 輸入網址 → http://localhost:8080/ 二.插件安裝 [管理Jenkins] → [管理外掛程式] → <可用的> → 選擇要安裝的插件 "Unity 3d plugin" "GitLab Plugin" 安裝完後重啟Jenkins → 在瀏覽器輸入 "http://localhost:8080/restart" 三.設定權限 / 新增成員 [管理Jenkins] → [設定全域安全性] → "啟用安全性" =存取控制= → =安全性領域= → "Jenkins內件使用者資料庫" → "允許使用者註冊" =授權= → "矩陣型安全性" 新增使用者 → 設定使用者權限 EX : 新增 admin → 權限全開 EX : 新增 guest → 整體Read、作業Build、作業Cancel、作業Read (建議建立三個帳號 : 1.有全部的權限 2.有Read、Update、Build的權限(沒有刪除權限) 3.只有Read、Build的權限 (注意!!! 新增使用者ID要全部都小寫 但是在註冊時ID可以使用大寫) Jenkins在restart之後使用者ID會自動改成全部小寫 應該是bug...) 帳號權限開好之後 → "套用" → "儲存" [登出](在界面的右上角) [註冊] → 把剛剛開好的帳號ID全部註冊過 (要註冊過才會產生帳號 之前設定權限只是給這個ID權限 使用者名稱要完全對應使用者ID 大小寫可以不同) 全部帳號註冊完成後 → 登入確認權限跟設定有沒有問題後 [管理Jenkins] → [設定全域安全性] → =存取控制= → =安全性領域= → "Jenkins內件使用者資料庫" → 取消"允許使用者註冊" 五.與Git連動 [管理Jenkins] → [設定系統] → =Git= → =Git installaions= → "Add Git" → "JGit" "套用" → "儲存" [新增作業] → "作業名稱" → 名字隨便取 "建置Free-Style 軟體專案" "OK" → 會自動跳到"組態"設定裡面 原本進入的方式 : <作業名稱> → [組態] =進階專案選項= → =進階...= → "使用自訂工作區" → 設定從Git上下載下來的檔案要存在哪個"目錄"下 =原始碼管理= → "Git" → =Repositories= → =Repository URL= → 設定Git的Http網址 =Credentials= → "Add" → 加入可以登入Git的帳號密碼 =Branches to build= → =Branch Specifier (blank for 'any')= → $gitlabSourceBranch (參數意思是對git上所有的branch做自動更新) =Branches to build= → =Branch Specifier (blank for 'any')= → origin/master (參數意思是對git上的指定的branch做自動更新) =Additional Behaviours= → "Check out to specific local branch" =Branch name= → "master" (填入要check out的branch name) =建置處發程序= → "Build when a change is pushed to GitLab. GitLab CI Service ..." 細部選項自行調整 "套用" → "儲存" 之後Git上面有動作的話就會自動pull到設定好的自訂的工作區 (新增的Git帳號可以到"Credentials"裡面進行管理 第一進入的時候所有的帳號會存放在 <Domain> → "Global credentials(unrestriced)" 裡面) 登入GitLab的網頁 → 進入專案 → [Settings] → <Web Hooks> → =URL= → 輸入Jenkins的路徑 EX : http://127.0.0.1:8080/project/UpdateGit =Trigger= → "Push events" "Add Web Hook" 六.與Unity Script連動 [管理Jenkins] → [設定系統] → =Unity3d= → "Unity3d安裝..." "名稱" → 建議輸入要使用的Unity版本號 "安裝目錄" → 選擇Unity安裝的目錄 "套用" → "儲存" [新增作業] → "作業名稱" → 名字隨便取 "建置Free-Style 軟體專案" "OK" → 會自動跳到"組態"設定裡面 原本進入的方式 : <作業名稱> → [組態] "參數化建置" → "新增參數" → 可以增加build時所需要的參數(EX : 版本類型、版本號) =建置= → "新增建置步驟" → "Invoke Unity3D Editor" "Unity3d installation name" → 選擇剛剛設定Unity的"名稱" "Editor command line arguments" → 輸入Unity的命令參數 EX : -quit -batchmode -logFile D:\UnityProject\CodeReset\Jenkins.log -projectPath D:\UnityProject\CodeReset -executeMethod ProjectExport.buildEXE "$VersionCode" "$VersionType" (logFile : 必須要指定一個log檔產生的路徑 最新一次執行的log會存在這個檔案裡面 projectPath : 專案的路徑 executeMethod : 呼叫專案裡哪個Script的哪個Function $VersionCode : 將剛剛"參數化建置"的"新增參數"傳到Unity裡面 Unity內取參數的方式 : string[] commandLines = Environment.GetCommandLineArgs();) "套用" → "儲存" [建置] (注意!!! 第一次建置前要先設定環境變數並restart過Jenkins 請參考http://codingtrabla.blogspot.tw/2016/03/jenkins-unity3d-plugin-unable-to-locate.html) 七.定時建置 <作業裡面> → [組態] → =建置觸發程序= → "定期建置" → "排程" -> EX : 0 0 * * * 六.建置後的通知 <作業裡面> → [組態] → =建置後動作= → "新增建置後動作" → "電子郵件通知" → "收件人" → 填入email 複數信箱可以用空白隔開 七.其他設定 [管理Jenkins] → [設定系統] → "Jenkins URL" → 預設是http://localhost:8080/ 可以改成真正的IP位址 八.其他參考資料 帳號權限 http://www.cnblogs.com/zz0412/p/jenkins_jj_14.html 設定每日建置 https://dotblogs.com.tw/kirkchen/2012/05/14/install_and_setting_jenkins_as_ci_server http://ithelp.ithome.com.tw/question/10104449 https://dotblogs.com.tw/chhuang/2013/09/04/116308 GitLab https://segmentfault.com/a/1190000003975766 九.更新SVN <作業裡面> → [組態] → =原始碼管理= → "Subversion" =模組= "儲存庫URL" → 填入SVN的位址 "驗證帳號密碼" → 輸入SVN的帳號密碼 "Repository depth" → "infinity" "Check-Out策略" → "總是Check Out一份新的" 十.複製檔案到windows的網路硬碟 [管理Jenkins] → [設定系統] → =Publish over CIFS= → =CIFS Shares= "Name" → 網路硬碟路徑跟帳號一組的代號 "Hostname" → IP "Username"→ 帳號 "Password" → 密碼 "Share" → 網路硬碟上要進行作業的資料夾路徑 <作業裡面> → [組態] → =建置= → "新增建置步驟" → =Send files to a windows share= → =CIFS Publishers= → =CIFS Share= "Name" → 網路硬碟設定的代號 =Transfers= → =Transfer Set= "Source files" → ** "Remote directory" → 網路硬碟上是否要建立資料夾名稱 "Remote directory is a date format" → 在網路硬碟件立資料夾名稱是否使用時間格式

    Jenl ins可以結合GIt,達到保持本機端為最新版本的目的
    转载请注明原文地址: https://ju.6miu.com/read-37425.html

    最新回复(0)