環(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)建顺又,最終一次成功更卒。終于是松了一口氣。