使用jenkins自动化部署docke镜像node项目(jenkins、docker、node、码云、git)

简介
最近使用docker部署项目,当代码有更新后,我的操作流程大致是:
1.提交代码 ——>2.copy代码到服务器—–>3.停止、删除docker项目容器—–>
4.删除docker项目镜像—->5.启动项目镜像、启动容器
这一系列花费我几分钟,一不小心还会出错。经过百度,找到一个自动化部署工具jenkins,最后只需要一次点击就要完成所有操作。

本文涉及内容:

  1. jenkins安装
  2. jenkins中服务器ssh 配置
  3. 在jenkins中node项目的配置
  4. Exec 命令和Dockerfile的编写

一、jenkins安装

//创建jenkins工作目录
mkdir -p /var/www/jenkins/

docker pull jenkins

//设置目前权限(必须)
chown -R 1000:1000 /var/www/jenkins

docker run -itd -p 8080:8080 -p 50000:50000 --name jenkins --privileged=true  -v /var/www/jenkins:/var/jenkins_home jenkins

//密码使用命名查看
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

二、jenkins中服务器ssh 配置
当我们要向其他服务器部署项目,可以使用publish over ssh 插件来设置访问部署
步骤:
系统管理 —–>管理插件 —–>可选插件 —–>搜索publish over ssh —–>直接安装
配置:
这里写图片描述

三、在jenkins中node项目的配置
环境:
项目在码云或者github上、使用docker部署node项目。如果项目使用码云需要安装插件(Generic Webhook Trigge)

步骤:
新建 —–>构建一个自由风格的软件项目
1.General中下项目名称
2.源码管理填写项目地址,点击add添加Username和Password(是你git或者码云账号密码)
这里写图片描述
3.构建触发器 不填
4.构建环境 勾选Send files or execute commands over SSH after the build runs
命名就是你在服务器上输入的命名

 docker kill gd_node
 docker rm gd_node
 docker image rm gd_node
 docker build /var/www/jenkins/workspace/gd_node  -t gd_node
 docker run -itd --name gd_node -p 8021:8021 gd_node

上面是

  1. 关闭容器gd_node
  2. 删除容器gd_node
  3. 删除镜像gd_node
  4. 构建项目gd_node项目目录是/var/www/jenkins/workspace/gd_node
  5. 启动容器到8021端口
    上面build 是通过Dockerfile启动代码为
FROM node:9-alpine
COPY . /app
WORKDIR /app
RUN npm install --registry=https://registry.npm.taobao.org
EXPOSE 8021
CMD ["npm", "start"]

这里写图片描述

最后保存,回到首页立即构建,这个时候可以查看输出日志
这里写图片描述

四、结语
至此!全部配置已经完成,如有疑问欢迎留言或者加群315552185!共同学习,其他发生坑爹的事情是我使用阿里云安装jenkins报错,项目启动几秒就挂了,之后我换成腾讯云,完美一步到位。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值