流水線任務每次運行時,都會基於基礎鏡像調度一個全新的執行個體。應用中心會持續維護並更新鏡像,添加或者更新使用者需要的構建工具。當構建工具存在多個版本時,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。