当前位置:   article > 正文

Github actions + Docker实现持续部署_github上怎么用docek部署

github上怎么用docek部署

准备工作

详细步骤参见参见
https://jszoo.com/detail/32
使用Github action自动部署,需要准备以下东西:

  • 一台能上外网的Linux服务器,并且安装了docker

  • 将已有项目推送到Github仓库

  • 注册阿里云容器镜像服务(免费)

    点我跳转过去

创建镜像仓库

  • 在阿里云容器镜像服务上添加命名空间
    在这里插入图片描述

  • 创建存储镜像的仓库

在这里插入图片描述

  • 创建好以后,选择刚才创建的仓库,点击左侧基本信息,复制一下这个公网地址备用
    在这里插入图片描述

创建Secrets

登录你的github进入项目仓库,依次点击settings>Secrets>New secret
在这里插入图片描述

点击New secret以后出来的页面有2个选项,Name和Value,Name对应上图红框所示,Value填入Name对应的值,简单解释一下:

DOCKER_REPOSITORY: 镜像仓库地址,也就是上一个步骤复制到的公网地址

DOCKER_USERNAME:登录阿里云的账号

DOCKER_PASSWORD: 登录阿里云的密码

HOST:部署项目的服务器ip

HOST_PORT:服务器ssh端口号(默认是22)

HOST_USERNAME:服务器登录用户名(ps:非root权限账号请子u该账号所属组为docker)

HOST_PASSWORD: 登录服务器的密码

ps:这里的Secrets不会被pull,别人也看不到,所以还是比较安全

创建Dockerfile

在github的项目仓库面板,依次点击code>Add file>create new file,Name your file填入Dockerfile,文件内容如下:

FROM node:12.18.0-buster-slim
RUN mkdir -p /usr/src
COPY . /usr/src
WORKDIR /usr/src
RUN npm i
EXPOSE 4000
CMD ["node","app.js"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

ps:EXPOSE根据你的实际情况修改

填好之后点击下方的绿色commit new file按钮

简单解释一下:

在这里插入图片描述

顺便说一下RUN和CMD 的区别,相同点,都是执行命令,不同点在于,RUN 是在打包镜像的时候执行,CMD是在运行容器的执行

创建工作流

在github仓库面板点击Actions按钮,找到Node.js,选择Set up this workflow

在这里插入图片描述

在内容区域ctrl+a全选然后删除,粘贴进以下内容:

name: Docker Image CI/CD
on:
  push:
    branches: [ master ]
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/601544
推荐阅读
相关标签
  

闽ICP备14008679号