in src/commands/deploy/index.ts [217:264]
export async function deploySelectedCodeVersion(
name: string,
selectedType: PublishType,
version: string
): Promise<void> {
const server = await ApiService.getInstance();
const param: PublishRoutineCodeVersionReq = {
Name: name,
Env:
selectedType === PublishType.Staging
? Environment.Staging
: Environment.Production
};
if (selectedType === PublishType.Canary) {
const res = await server.listRoutineCanaryAreas();
const canaryList = res?.CanaryAreas ?? [];
logger.log(
`📃 ${t('deploy_select_canary').d('Please select the canary area(s) you want to deploy to')}`
);
const canaryAreaSelectList: TableItem[] = canaryList.map((area) => {
return { label: area };
});
const selectedCanaryList = await displayMultiSelectTable(
specialAreaTransfer(canaryAreaSelectList)
);
param.CanaryAreaList = selectedCanaryList;
param.CanaryCodeVersion = version;
} else {
param.CodeVersion = version;
}
try {
const res = await server.publishRoutineCodeVersion(param);
if (res) {
logger.success(
t('deploy_success').d('Your code has been successfully deployed')
);
logger.log(
`👉 ${t('deploy_success_guide').d('Run this command to add domains')}: ${chalk.green('esa domain add <DOMAIN>')}`
);
}
} catch (e) {
console.error(e);
}
}