環(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
啟動(dòng)一個(gè)虛擬機(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開(kāi)頭的,這就是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
啟動(dòng)與測(cè)試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ī)訪問(wèn) jenkins.local:8080

安裝Jenkins的Github插件
系統(tǒng)管理 → 管理插件 → 可選插件 → GitHub Plugins
安裝Docker加速器,拉去鏡像
進(jìn)入DaoCloud官網(wǎng),注冊(cè)登錄,進(jìn)入控制臺(tái),點(diǎn)擊加速器,按照步驟安裝。
dao pull centos
打開(kāi)Jenkins網(wǎng)頁(yè)
新建 → (名稱:RubyRpc,構(gòu)建一個(gè)自由風(fēng)格的軟件項(xià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)建
這個(gè)東西我弄了3天,說(shuō)一下其中踩到的坑
1.我開(kāi)始想用Docker構(gòu)建一個(gè)Jenkins+Docker的鏡像,但是DockerBook中提供的源碼,有問(wèn)題,怎么都調(diào)試不好。
2.我直接拉取官方的Jenkins,運(yùn)行之后發(fā)現(xiàn),這個(gè)鏡像里面沒(méi)有安裝Docker,所以無(wú)法使用 。
3.我在MacOS上面安裝Jenkins,他會(huì)報(bào)一個(gè)docker命令找不到,使用sudo又需要密碼,我Google了很多,還是沒(méi)有解決,最終放棄,jenkins用戶好像也添加不進(jìn)Docker組,MAC里面沒(méi)有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中,原來(lái)的代碼倉(cāng)庫(kù)里面是用的ubuntu:14.04鏡像,運(yùn)行的時(shí)候,老是apt-get update失敗,我克隆了代碼倉(cāng)庫(kù),自己修改了源,阿里云,中科大,163,搜狐,教育網(wǎng)。各種都不行。最后沒(méi)辦法,使用的Centos鏡像構(gòu)建,最終一次成功。終于是松了一口氣。