環境 :Vagrant + VirtualBox + Sublime Text 3
用以下命令建立軟連接,讓 sublime text 3 可以在命令行里面運行
ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
啟動一個虛擬機
mkdir jenkins
cd jenkins
vargrant init chef/centos7
# 編輯 Vagrantfile (使用命令 subl . )
# 取消掉注釋 (config.vm.network "private_network", ip: "192.168.34.11")
# 添加本機hosts (subl /etc/hosts)
# 添加 jenkins.local 192.168.34.11
vargrant up
vagrant ssh
進行系統更新,安裝集成軟件
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
# 復制到你的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
查看關于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運行
給Jenkins添加運行sudo權限
sudo vi /etc/sudoers
# 添加 jenkins ALL=NOPASSWD: ALL
在本機訪問 jenkins.local:8080
安裝Jenkins的Github插件
系統管理 → 管理插件 → 可選插件 → GitHub Plugins
安裝Docker加速器,拉去鏡像
進入DaoCloud官網,注冊登錄,進入控制臺,點擊加速器,按照步驟安裝。
dao pull centos
打開Jenkins網頁
新建 → (名稱:RubyRpc,構建一個自由風格的軟件項目)
→ 源代碼管理 (Git地址:https://github.com/MiYogurt/docker-jenkins-sample.git)
→ 增加構建步驟(Execute shell)
# 輸入一下內容
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
→ 保存
→ 構建
這個東西我弄了3天,說一下其中踩到的坑
1.我開始想用Docker構建一個Jenkins+Docker的鏡像,但是DockerBook中提供的源碼,有問題,怎么都調試不好。
2.我直接拉取官方的Jenkins,運行之后發現,這個鏡像里面沒有安裝Docker,所以無法使用 。
3.我在MacOS上面安裝Jenkins,他會報一個docker命令找不到,使用sudo又需要密碼,我Google了很多,還是沒有解決,最終放棄,jenkins用戶好像也添加不進Docker組,MAC里面沒有usermod
命令,Docker服務端又是運行在docker-machine
上面的。
4.Github Plugins 需要你先配置好git與Github的公鑰,要不然拉取源碼不允許。
5.docker.sock
的權限是600
所以只能用sudo docker
運行。shell里面所有相關命令都應該是sudo docker
。
6.在Vagrant中,原來的代碼倉庫里面是用的ubuntu:14.04
鏡像,運行的時候,老是apt-get update
失敗,我克隆了代碼倉庫,自己修改了源,阿里云,中科大,163,搜狐,教育網。各種都不行。最后沒辦法,使用的Centos鏡像構建,最終一次成功。終于是松了一口氣。