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/116308GitLab
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,達到保持本機端為最新版本的目的

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

  1. 鸟哥的Linux私房菜(服务器)- 簡易 OpenWebMail 設定

    簡易 OpenWebMail 設定 切換解析度為 800x600 最近更新日期:2004/11/23 在 Client 端使用 pop3 之類的 MUA 軟體來收信是目前一般使用者最常見的信件收受模式 ...

  2. 鸟哥的Linux私房菜(服务器)- 簡易 APT/YUM 伺服器設定

    簡易 APT/YUM  伺服器設定 最近更新日期:2004/06/23 用不慣 Tarball 安裝套件卻又擔心 RPM 的屬性相依問題嗎?如果有一種套件管理工具可以克服 RPM 屬性相依的方法該有多 ...

  3. (原創) 如何解決DE2_LCM_CCD上下顛倒左右相反與無法設定曝光值的問題? (SOC) (DE2)...

    AbstractDE2_LCM_CCD是友晶科技為DE2和其130萬像素CMOS與彩色LCD所寫的範例,但官方的範例會造成上下顛倒左右相反與曝光值無法設定的問題,本文提出解決方式. Introduct ...

  4. android one x1 s3,ThinkPad X1 Carbon 2018 (6th Gen) 上手及設定 S3 待機模式

    淺羽一直在用着 ThinkPad X1 Carbon 2016,總體感覺還不錯,不過畢竟舊了,而且電池在璀璨下,輕載續航也很難超過 5 小時了,於是計劃着換一臺.可選的有兩個級別,Mainstream ...

  5. bash 轉移 zsh (oh-my-zsh) 設定心得

    前言 一直以來看到很多人推薦用 zsh (z shell),原因就不贅述了,簡單講就是更好用.更炫 (?).今天花了一些時間從 bash 轉移到 zsh,過程中遇到一些小問題讓我卡了幾次小關,這篇主要 ...

  6. Vue CLI 環境設定與打包

    Vue CLI (Vue.js Command-Line Interface) Vue CLI 是由 Vue.js 核心團隊所開發,用來提供開發者快速建置 Vue.js 專案並整合相關工具鍊的一套指令 ...

  7. 北电PBX资料_LD 11數位電話機設定

    LD 11數位電話機設定 程式提示 輸入指令符號 說 明 備 註 REQ: NEW 增加新數位電話機資料 CHG 修改數位電話機資料 MOV 移動數位電話機資料 OUT 取消數位電話機資料 CPY x ...

  8. 北电PBX资料_LD 17 系統結構指令設定

    LD 17 系統結構指令設定 程式提示 輸入指令符號 說 明 備 註 REQ CHG 更改舊資料 END 結束指令 TYPE ADAN ADAN aaa bbb x aaa=NEW,OUT,CHG b ...

  9. linux 排程命令,Ubuntu 排程設定 :Crontab 排程使用教學

    在linux系統中,如 ubuntu,cron 排程的資料是存在 /etc/crontab 中,我們可以直接輸入 sudo nano /etc/crontab 進行編輯. 1. Linux Cron ...

最新文章

  1. centos vnc配置笔记
  2. Spring在web开发中的应用
  3. pyMagic:用python控制的Geek入门神器
  4. Web页面在桌面上显示的后台基本步骤
  5. python面向对象中的类
  6. 丘成桐中学计算机科学奖,丘成桐中学科学奖
  7. Shell实现MySQL分库备份
  8. HTTP中的POST、GET区别
  9. sap未分摊差异怎么处理_MM采购中形成的差异
  10. 字符数组中查找字符串或字符数组
  11. window 软件 C盘 文件 搬家(配置文件搬家)
  12. Chapter 05 绘图基础
  13. PHP100视频教程(2012-2013版)下载地址及密码
  14. 必看的经典金融书籍推荐zz
  15. CI框架全局登录控制
  16. matlab 傅里叶变换频谱
  17. C语言蓝桥杯刷题:等差素数列
  18. 图片处理系列一Android照片墙应用实现(绝对不崩溃)
  19. 无法解析的外部符号 ___iob_func 处理方法
  20. 【计算机网络】计算机网络疑难问题理解

热门文章

  1. java IO流(复习,上课笔记)
  2. 学生成绩管理系统 ssm layui
  3. 数据结构----各种排序方法总结
  4. 定义一个图书类(Book)
  5. VtigerCRM收件箱邮件打开失败JSLBL_Failed_To_Open_Email
  6. 如画的水乡,如画的同里1012
  7. xampp is currently only availably as 32 bit applic
  8. 三维坐标系介绍与转换
  9. 秋雨,在迷乱的思绪中飞扬
  10. 【树莓派Zero入门】-第三章:USB摄像头的使用(也可以双摄像头拍照,插两个USB摄像头就好了)