本文介绍了如何在 Linux 上安装 Exec Runner。Exec Runner 以二进制格式打包并作为 Github Release 分发。
下载 Exec Runner 程序
下载并解压二进制文件。你将需要修改以下命令以使用最新版本。
下载基于 amd64 架构的二进制文件:
curl -L https://github.com/drone-runners/drone-runner-exec/releases/latest/download/drone_runner_exec_linux_amd64.tar.gz | tar zx
sudo install -t /usr/local/bin drone-runner-exec
下载基于 i386 架构的二进制文件:
curl -L https://github.com/drone-runners/drone-runner-exec/releases/latest/download/drone_runner_exec_linux_i386.tar.gz | tar zx
sudo install -t /usr/local/bin drone-runner-exec
下载基于 32 位 arm 架构的二进制文件:
curl -L https://github.com/drone-runners/drone-runner-exec/releases/latest/download/drone_runner_exec_linux_arm.tar.gz | tar zx
sudo install -t /usr/local/bin drone-runner-exec
下载基于 64 位 arm 架构的二进制文件:
curl -L https://github.com/drone-runners/drone-runner-exec/releases/latest/download/drone_runner_exec_linux_arm64.tar.gz | tar zx
sudo install -t /usr/local/bin drone-runner-exec
配置 Exec Runner
Exec Runner 是使用环境变量文件配置的。环境文件位置由运行进程的用户决定。如果用户是 root:
/etc/drone-runner-exec/config
如果用户不是 root 用户:
~/.drone-runner-exec/config
该文件应使用语法 <variable>=value
将变量设置为指定值,并使用 #
表示注释。请注意,这不是 bash 文件。不支持 Bash 语法和 Bash 表达式。
DRONE_RPC_PROTO=https
DRONE_RPC_HOST=drone.company.com
DRONE_RPC_SECRET=super-duper-secret
本文引用了以下配置选项。有关配置选项的完整列表,请参阅 配置。
-
- DRONE_RPC_HOST
- 提供
Drone Server
的主机名(和可选端口)。Runner 连接到指定主机地址的 Server 以接收 Pipeline 以执行。
-
- DRONE_RPC_PROTO
- 提供用于连接
Drone Server
的协议。该值必须是http
或https
。
-
- DRONE_RPC_SECRET
- 提供用于向
Drone Server
进行身份验证的共享密钥。这必须与你的 Drone Server 配置中定义的 Secret 匹配。
日志记录
Exec Runner 将日志写入主机上的文件。在启动服务之前,应在环境文件中配置日志文件位置。文件位置由运行该进程的用户决定。如果用户是 root:
DRONE_LOG_FILE=/var/log/drone-runner-exec/log.txt
如果用户是非 root 用户:
DRONE_LOG_FILE=.drone-runner-exec/log.txt
日志文件的存放目录必须在启动服务之前先创建好:
mkdir /var/log/drone-runner-exec
mkdir .drone-runner-exec/
安装 Exec Runner
使用以下命令安装 Exec Runner 并启动服务。
drone-runner-exec service install
drone-runner-exec service start
上面的命令创建了一个初始化服务。你可能需要以 root 身份或使用 sudo 执行命令。
验证安装结果
检查日志并验证 Runner 是否成功建立了与 Drone Server 的连接。如果用户是 root:
$ cat /var/log/drone-runner-exec/log.txt
INFO[0000] starting the server
INFO[0000] successfully pinged the remote server
如果用户是非 root 用户:
$ cat ~/.drone-runner-exec/log.txt
INFO[0000] starting the server
INFO[0000] successfully pinged the remote server