设为首页 加入收藏

TOP

自动化部署Ruby on Rails应用(docker + jenkins)(一)
2019-08-15 00:10:11 】 浏览:183
Tags:自动化 部署 Ruby Rails 应用 docker jenkins
docker安装参考链接

docker官网

jenkins中文官网


我的博客网站已经迁移到了https://johnnyting.github.io/,如果有兴趣的可以关注下。
下面文章格式可能有点乱,可以查看我的博客原文: https://johnnyting.github.io/posts/%E4%BD%BF%E7%94%A8jenkinsdocker%E8%87%AA%E5%8A%A8%E5%8C%96%E9%83%A8%E7%BD%B2rails%E5%BA%94%E7%94%A8/

服务器环境为Ubuntu 16.04.2 LTS

1.卸载旧版本docker

sudo apt-get remove docker \
              docker-engine \
              docker.io

2.安装docker,使用脚本自动安装

curl -fsSL get.docker.com -o get-docker.sh
?
sudo sh get-docker.sh --mirror Aliyun

3.启动docker

# 设置开启自启动
sudo systemctl enable docker
?
# 启动docker
sudo systemctl start docker
?
# 查看版本
docker -v    # docker --version
Docker version 18.09.5, build e8ff056

4.安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
?
# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose
?
# 查看版本
docker-compose -v    # docker-compose --version
?

5.安装compose bash补全命令

curl -L https://raw.githubusercontent.com/docker/compose/1.8.0/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

6.如果需要卸载docker-compose,删除可执行文件即可

sudo rm /usr/local/bin/docker-compose

7.配置docker镜像加速

在/etc/docker/daemon.json 中写入如下内容,如果没有此文件新建即可:
{
"registry-mirrors": [
  "https://dockerhub.azk8s.cn",
  "https://reg-mirror.qiniu.com"
]
}
?

重新启动服务:
sudo systemctl daemon-reload
sudo systemctl restart docker
?
检查加速器是否生效:
docker info
?
如果出现下面内容则配置成功
Registry Mirrors:
https://dockerhub.azk8s.cn/
https://reg-mirror.qiniu.com/
?

8.安装jenkins,使用blue ocean镜像,来创建流水线项目

docker run \
   --name jenkins \
   -u root \
   -d \
   -p 8090:8080 \
   -v /home/oliver/jenkins_home:/var/jenkins_home \
   -v /home/oliver/.ssh:/root/.ssh \
   --restart=always \
  jenkinsci/blueocean
   
# 将jenkins的数据目录挂载出来,防止数据丢失
# 这里把.ssh目录挂载出来的原因是:
# 1.之后需要将rails应用部署到其他服务器上,需要通过ssh认证来远程部署应用,所以主机host需要保证和部署服务器连通。
# 2.需要将ssh公钥传入到git服务器上,保证能正常拉取代码
?

9.查看jenkins日志,获取管理员密码

?  ~ sudo docker ps
CONTAINER ID       IMAGE                 COMMAND                 CREATED             STATUS             PORTS                               NAMES
a210c6d643a3       jenkinsci/blueocean   "/sbin/tini -- /usr/…"   3 minutes ago       Up 3 minutes        50000/tcp, 0.0.0.0:8090->8080/tcp   jenkins
?
# 查看jenkins日志
? ~ sudo docker logs -f --tail=50 a210c6d643a3
?

看到密码后复制,或者进入容器内的/var/jenkins_home/secrets/initialAdminPassword 查看,因为jenkins容器目录挂载到了/home/oliver/jenkins_home下,所以也可以查看

/home/oliver/jenkins_home/secrets/initialAdminPassword 文件中的内容。

 

10.选择安装推荐插件就行

 

11.然后等待安装完成,如果安装失败就重新安装。

 

12.然后下一步提示创建一个管理员账号,填写完就进入jenkins首页。

 

13.配置凭据

 

添加全局凭据:

 

添加ssh私钥,在/home/oliver/.ssh/id_rsa中

 

14.在本地rails项目中添加 Jenkinsfile:

pipeline {
   agent any
  &nbs
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇day06_步入百万年薪的第六天——.. 下一篇2019-07-11 闭包函数和装饰器

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目