MAC OS下使用Vagrant+Docker+Jenkins类溢,實現(xiàn)持續(xù)化集成

環(huán)境 :Vagrant + VirtualBox + Sublime Text 3

用以下命令建立軟連接,讓 sublime text 3 可以在命令行里面運(yùn)行

ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

啟動一個虛擬機(jī)

mkdir jenkins
cd jenkins
vargrant init chef/centos7
# 編輯 Vagrantfile (使用命令 subl . )
# 取消掉注釋 (config.vm.network "private_network", ip: "192.168.34.11")
# 添加本機(jī)hosts (subl /etc/hosts)
# 添加 jenkins.local 192.168.34.11
vargrant up
vagrant ssh

進(jìn)行系統(tǒng)更新,安裝集成軟件

sudo yum -y update
sudo yum install -y zsh vim git
# 配置GitHub
ssh-keygen -t rsa -C "xxxxxxxx@qq.com"
cat ~/.ssh/id_rsa.pub
# 復(fù)制到你的key到Github上
ssh -T git@github.com
# 你可以看到
# Hi XXXX! You've successfully authenticated, but GitHub does not provide shell access.

安裝 ohmyzhs闯冷,和添加軟件源

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
vi .zshrc
# 添加plugins=(git yum)
yi -y epel-release
yi -y https://centos7.iuscommunity.org/ius-release.rpm
yum repolist
yu

添加了軟件源之后砂心,可以ys php查看關(guān)于php的軟件包,你可以看到php70u開頭的,這就是php7蛇耀,這樣就可以不像上次我寫的文章那樣安裝瞎折騰了辩诞。

yum 插件的使用詳解

Alias   Command                             Description
ys      yum search                          Search package
yp      yum info                            Show package info
yl      yum list                            List packages
ygl     yum grouplist                       List package groups
yli     yum list installed                  Print all installed packages
ymc     yum makecache                       Rebuilds the yum package list
yu      sudo yum update                     pgrade packages
yi      sudo yum install                    Install package
ygi     sudo yum groupinstall               Install package group
yr      sudo yum remove                     Remove package
ygr     sudo yum groupremove                Remove pagage group
yrl     sudo yum remove --remove-leaves     Remove package and leaves
yc      sudo yum clean all                  Clean cache

安裝Jenkins和Docker

yi -y java-1.8.0-openjdk
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
yu
yi -y jenkins
yi -y docker

啟動與測試Docker、Jenkins

systemctl start docker
systemctl start jenkins
systemctl enable docker
systemctl enable jenkins 
sudo docker 
# 看是否顯示出命令纺涤,必須用sudo運(yùn)行

給Jenkins添加運(yùn)行sudo權(quán)限

sudo vi /etc/sudoers 
# 添加 jenkins ALL=NOPASSWD: ALL

在本機(jī)訪問 jenkins.local:8080

安裝Jenkins的Github插件

系統(tǒng)管理 → 管理插件 → 可選插件 → GitHub Plugins

安裝Docker加速器译暂,拉去鏡像

進(jìn)入DaoCloud官網(wǎng),注冊登錄撩炊,進(jìn)入控制臺外永,點(diǎn)擊加速器,按照步驟安裝拧咳。

dao pull centos

打開Jenkins網(wǎng)頁

新建 → (名稱:RubyRpc伯顶,構(gòu)建一個自由風(fēng)格的軟件項目) 
→ 源代碼管理 (Git地址:https://github.com/MiYogurt/docker-jenkins-sample.git)
→ 增加構(gòu)建步驟(Execute shell)
# 輸入一下內(nèi)容
IMAGE="jenkins-rpc"
CONTAINER="jenkins-rpc"
MNT="$WORKSPACE/.."
sudo docker build -t $IMAGE . 
sudo docker run --name $CONTAINER -d -v "$MNT:/opt/project" $IMAGE /bin/bash -c 'cd /opt/project/workspace && rake spec'
sudo docker attach $CONTAINER
RC=$(sudo docker wait $CONTAINER)
sudo docker rm $CONTAINER
exit $RC
→ 保存
→ 構(gòu)建

這個東西我弄了3天,說一下其中踩到的坑

1.我開始想用Docker構(gòu)建一個Jenkins+Docker的鏡像骆膝,但是DockerBook中提供的源碼祭衩,有問題,怎么都調(diào)試不好阅签。
2.我直接拉取官方的Jenkins掐暮,運(yùn)行之后發(fā)現(xiàn),這個鏡像里面沒有安裝Docker政钟,所以無法使用 路克。
3.我在MacOS上面安裝Jenkins,他會報一個docker命令找不到锥涕,使用sudo又需要密碼衷戈,我Google了很多,還是沒有解決层坠,最終放棄殖妇,jenkins用戶好像也添加不進(jìn)Docker組,MAC里面沒有usermod命令破花,Docker服務(wù)端又是運(yùn)行在docker-machine上面的谦趣。
4.Github Plugins 需要你先配置好git與Github的公鑰,要不然拉取源碼不允許座每。
5.docker.sock的權(quán)限是600所以只能用sudo docker運(yùn)行前鹅。shell里面所有相關(guān)命令都應(yīng)該是sudo docker
6.在Vagrant中峭梳,原來的代碼倉庫里面是用的ubuntu:14.04鏡像舰绘,運(yùn)行的時候蹂喻,老是apt-get update失敗,我克隆了代碼倉庫捂寿,自己修改了源口四,阿里云,中科大秦陋,163蔓彩,搜狐,教育網(wǎng)驳概。各種都不行赤嚼。最后沒辦法,使用的Centos鏡像構(gòu)建顺又,最終一次成功更卒。終于是松了一口氣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末稚照,一起剝皮案震驚了整個濱河市逞壁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌锐锣,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绳瘟,死亡現(xiàn)場離奇詭異雕憔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)糖声,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進(jìn)店門斤彼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蘸泻,你說我怎么就攤上這事琉苇。” “怎么了悦施?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵并扇,是天一觀的道長。 經(jīng)常有香客問我抡诞,道長穷蛹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任昼汗,我火速辦了婚禮肴熏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘顷窒。我一直安慰自己蛙吏,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鸦做,像睡著了一般励烦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上馁龟,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天崩侠,我揣著相機(jī)與錄音,去河邊找鬼坷檩。 笑死却音,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的矢炼。 我是一名探鬼主播系瓢,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼句灌!你這毒婦竟也來了夷陋?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤胰锌,失蹤者是張志新(化名)和其女友劉穎骗绕,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體资昧,經(jīng)...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡酬土,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了格带。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片撤缴。...
    茶點(diǎn)故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖叽唱,靈堂內(nèi)的尸體忽然破棺而出屈呕,到底是詐尸還是另有隱情,我是刑警寧澤棺亭,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布虎眨,位于F島的核電站,受9級特大地震影響侦铜,放射性物質(zhì)發(fā)生泄漏专甩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一钉稍、第九天 我趴在偏房一處隱蔽的房頂上張望涤躲。 院中可真熱鬧,春花似錦贡未、人聲如沸种樱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫩挤。三九已至害幅,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岂昭,已是汗流浹背以现。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留约啊,地道東北人邑遏。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像恰矩,于是被迫代替她去往敵國和親记盒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,930評論 2 361

推薦閱讀更多精彩內(nèi)容