# 快速入门
# 准备工作
在代码平台上新建一个代码库,并通过流水线配置好一个编译任务。 成功编译生成一个编译产出包到制品管理平台的半成品库中。
# 创建主机组
点击“主机部署”菜单,可以看到主机组列表页面。在右上角点击新建按钮即可创建主机组。
创建页面如图所示: 可以设置主机组的名称、说明、权限等属性。
创建主机组后,请在主机组内挑选任意一台可直接访问本平台的主机安装Agent。
选择对应操作系统的主机进行安装Agent并运行。
# Linux操作系统安装方式
- 步骤1:下载Linux版本的devops-cd
- 步骤2:初始化配置
- 步骤3:安装devops-cd
- 步骤4:启动devops-cd
也可以通过./devops -h来查看相关的参数信息和使用方法
运行成功后,点击“主机部署标题”查看在线主机组。显示在线代表主机和DevOps平台之间互通了
# Windows操作系统安装方式
Windows操作系统需要先在服务端安装sshd服务并启动,然后以管理员身份安装Agent并启动devops-cd服务来添加主机。
Agent安装步骤如下
- 步骤1:下载Windows版本的devops-cd
- 步骤2:初始化配置,通过./devops-cd.exe init -h命令来获取初始化信息的参数及配置
- 步骤3:安装devops-cd
- 步骤4:启动devops-cd
# 添加主机
主机组创建成功后,点击该主机组,即可显示左侧二级菜单。点击 "主机列表" 菜单即可对该主机组下的主机进行新建操作。 新建完成后亦可对主机进行编辑和删除。
只要设置主机的IP或者Hostname、域名、访问的账号密码即可。部署器会通过ssh对主机进行连接和部署。
另外本主机部署系统还提供了用密钥方式授信
密钥授信步骤:
1.检查系统是否已经存在密钥
使用授信用户登录主机,查询密钥文件是否已经存在:
$ ls ~/.ssh
如果目录下没有id_rsa文件说明你是第一次使用, 需要生成密钥。如果不是第一次使用您可以选择使用已有密钥或者重新生成密钥方式。
2.生成密钥
$ ssh-keygen -t rsa
一路回车即可
密钥生成后.ssh目录下会生成密钥文件,其中的id_rsa、id_rsa.pub文件里储存的分别是刚生成的ssh私钥、公钥。
3.在devops-cd同级目录中有一个.devops-cd目录存放配置文件和日志,启动devops-cd前要修改.devops-cd/config/devops-cd.yaml,将密钥的路径添加到配置文件中,修改内容配置如下
4.如需要添加多台主机,主机之间要配置互信
执行以下命令,将公钥追加到主机authorized_keys文件。
$ cat id_rsa.pub >> authorized_keys
5.将装有Agent主机的公钥写入到主机列表中其他主机的~/.ssh/authorized_keys
文件中,实现主机之间的免密互通即可。
例如:将10.15.1.5机器上的公钥写入到175.27.243.209机器上。
注意:手工复制公钥时不要复制多余的空格,否则可能授信不成功。
# 删除
此操作属于危险操作,只有该主机组下的主机和部署模板清空后才可删除主机组。
# 创建部署模板
添加完主机后,切换到 “部署模板” 标签页,可以配置部署模板。在部署模板配置页的配置项后都有关于该配置项的比较详细的解释说明。
部署文件制品方式如下图所示,简单来说就是将已经形成的构建好的制品库文件部署到主机上。
另外提供了仅执行命令方式,适合例如通过脚本直接docker pull镜像或者git pull代码方式进行服务更新。
这里详细介绍下“部署任务审核”选项,这个选项默认关闭。“部署任务审核”开关开启后,只有本主机组管理员可对部署任务审核。 一般此开关用于线上环境。
制品存放路径和应用路径设置 制品存放路径:部署器会自动在该路径下创建以时间戳命名的文件夹,将制品上传到该文件夹内。 应用路径即是服务器的应用根路径。
- 注意事项:
- 1、这两个路径不能相同
- 2、且主机管理中设置的用户必须有这两个路径的读写权限
- 3、应用路径必须是空路径或者是暂时不存在的路径
- 注意事项:
# 部署器工作步骤详解
- 步骤1:从服务端下载指定版本的制品
- 步骤2:执行部署前置任务中的脚本
- 步骤3:删除旧版本制品并推送新版本制品
- 步骤4:执行部署后置任务中的脚本
# 创建部署任务
创建完部署任务后,可以直接发起部署任务。或者切换到“部署任务”标签页进行部署操作。管理员审核通过后进行自动完成部署,以及部署完成后可以查看日志。
# 部署统计
对于该主机组下的各部署模板,可以通过此功能查看其部署数据。注意:不显示已经被删除的模板数据。
# 代理机模式
主机部署提供代理机模式,使用方法如下,初始化时传递代理机相关参数,即可启用代理机模式。
# 与流水线结合使用
通过流水线的主机部署插件,可以实现代码从提交到部署的持续交付全过程自动化。