流水线任务每次运行时,都会基于基础镜像调度一个全新的实例。应用中心会持续维护并更新镜像,添加或者更新用户需要的构建工具。当构建工具存在多个版本时,Serverless Devs会默认使用最新的版本,但并不是所有用户都期望使用最新版本的工具。所以应用中心提供了runtime-setup插件,用于指定默认使用的构建工具版本。本文介绍如何使用runtime-setup插件初始化运行环境。
插件使用
如果期望使用指定版本的构建工具,您需要在使用Serverless Devs前使用runtime-setup插件设置正确的构建工具版本。
在Steps中使用runtime-setup插件
在流水线模板或任务模板中,可以通过执行上下文Steps,使用runtime-setup插件。插件执行完毕后,会将指定版本的构建工具配置到容器中的PATH环境变量中。示例如下。
---
kind: PipelineTemplate
name: mytemplate-<% .git.branch %>
description: cached pipelinetemplate
spec:
context:
data:
envName: test
deployFile: s.yaml
tasks:
# 构建部署
- name: build-and-deploy
context:
data:
enable: true
steps:
# 拉取代码
- plugin: "@serverless-cd/checkout"
# 初始化s工具
- plugin: "@serverless-cd/s-setup"
# 设置构建工具版本
- plugin: "@serverless-cd/runtime-setup"
inputs:
runtime:
- nodejs14
# - nodejs16
# - python3.9
# - python
# 使用其他插件或脚本,执行任意动作
# - run: make build && make deploy
# - plugin: "@serverless-cd/others"
taskTemplate: serverless-runner-task
---
runtime-setup插件支持的Runtime列表如下所示。
nodejs12
nodejs14
nodejs16
nodejs18
nodejs20
java8
java11
java17
python2.7
python3.6
python3.7
python3.9
python3.10
go1.18
go1.19
go1.20
go1.21
其中,nodejs14、java8、python3.9和go1.18为默认版本的Runtime。