插件
Gokins Gokins

插件

插件是gokins提供为了增强自身能力的一种方式

git插件

可以通过git插件,实现同一条流水线多个仓库拉取

注意事项:

  • 建议放在流水线的第一个stage

样例

1
2
3
4
5
6
7
8
9
10
- step: gokins@git
displayName: git1
name: git1
input:
url: https://github.com/gokins/gokins.git
user: ${{GIT_USER}}
token: ${{GIT_TOKEN}}
branch: xxxx
sha: ${{GOKINSV_GIT_SHA}} # GOKINSV_GIT_SHA 为webhook触发的值
dir: xxxxxxx # 有值为子目录,空值就是当前目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
version: 1.0
vars:
stages:
- stage:
displayName: git
name: git
steps:
- step: gokins@git
displayName: git1
name: git1
input:
url: https://github.com/gokins/gokins1.git
dir: gokins1
user: ${{GIT_USER}}
token: ${{GIT_TOKEN}}
- step: gokins@git
displayName: git2
name: git2
input:
url: https://github.com/gokins/gokins2.git
dir: gokins2
user: ${{GIT_USER}}
token: ${{GIT_TOKEN}}
- step: gokins@git
displayName: git3
name: git3
input:
url: https://github.com/gokins/gokins3.git
dir: gokins3
user: ${{GIT_USER}}
token: ${{GIT_TOKEN}}

ssh插件

ssh插件能够连接到远程服务器,然后执行相应的命令部署.

注意事项:

  • ssh不会同步任何文件,包括工作目录文件(代码/制品)
  • ssh无法生成制品
  • ssh必须使用url下载制品,请保证远程主机与Gokins之间的网络通畅
  • ssh使用时请注意信息安全: 不把密码明文写在yml中,使用流水线具有私密属性变量

小提示: 如果需要gokins启动后台服务,请使用 nohup xxx > xx.out 2>&1 & ,否则默认情况无法启动后台服务

样例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
- step: shell@ssh
name: publish
displayName: artifact publish
repo: /home/devops/website
input:
host: ${{SITE_HOST}}
user: ${{SITE_USER}}
pass: ${{SITE_PASS}} # 建议使用流水线私密变量
keyFile: user_def_file # 使用 ssh private key 文件作为密钥 (user_def_file 为使用默认key)
useArtifacts:
- scope: repo
repository: svianvyd
name: npxpublic
alias: publicdir
isUrl: true
path: public
commands:
- wget -O public.zip $ARTIFACT_DOWNURL_publicdir
- unzip -o -O UTF-8 public.zip