环境 :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镜像构建,最终一次成功。终于是松了一口气。