title | description | position | category |
---|---|---|---|
CICD |
Интеграция Serverless Devs с платформами и инструментами CI и CD |
5 |
Обзор |
В YAML-файлах GitHub Actions можно настроить возможности загрузки, конфигурации и выполнения команд для Serverless Devs.
Например, вы можете создать файл .github/workflows/publish.yml
в репозитории. Следующая информация описывает содержимое файла:
name: Проект Serverless Devs CI/CD
on:
push:
branches: [ master ]
jobs:
serverless-devs-cd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- run: npm install
- run: npm install -g @serverless-devs/s
- run: s config add --AccessKeyID ${{secrets.AccessKeyID}} --AccessKeySecret ${{secrets.AccessKeySecret}} -a default
- run: s deploy -y --use-local
Описание:
run: npm install -g @serverless-devs/s
: Устанавливает последнюю версию Serverless Devs с помощью npm.run: s config add --AccessKeyID ${{secrets.AccessKeyID}} --AccessKeySecret ${{secrets.AccessKeySecret}} -a default
: Конфигурирует ключевые данные с помощью команды config
.run: s deploy -y --use-local
: Развертывает проект с помощью команды deploy
. Вы можете использовать команду build
для сборки проекта.Примечания: Ключевые данные можно получить с помощью ${{secrets.*}}. Вам необходимо настроить ключи, которые требуются, и добавить их в GitHub Secrets. В приведенном выше примере требуются ключи для AccountID, AccessKeyID и AccessKeySecret. Следуйте следующим шагам для настройки ключей:Для получения дополнительной информации о конфигурации ключей, см. Precautions.## Интеграция с Gitee Go
После включения Gitee Go вы можете настроить возможности загрузки, конфигурации и выполнения команд для Serverless Devs в YAML-файле конвейера.
Например, вы можете создать файл потока в репозитории. Следующая информация описывает содержимое файла:
name: serverless-devs
displayName: 'Проект Serverless Devs CI/CD'
triggers: # Настройка триггера конвейера.
push: # Настройка триггера для ветки master при отправке кода.
- matchType: PRECISE
branch: master
commitMessage: '' # Соответствие сообщения коммита и определение необходимости выполнения конвейера.
stages: # Настройка этапа сборки.
- stage: # Определение этапа с идентификатором deploy-stage и названием Deploy Stage.
name: deploy-stage
displayName: 'Этап развертывания'
failFast: false # Разрешение быстрого завершения ошибок. Когда задача завершается с ошибкой в этапе, весь этап завершается.
``` steps: # Настройка шагов сборки.
- step: npmbuild@1 # Использование npm для компиляции окружения.
name: deploy-step # Определение этапа с идентификатором deploy-step и названием Deploy Step.
displayName: 'Deploy Step'
inputs: # Настройка входных параметров.
nodeVersion: 14.15 # Указание версии Node.js как 14.15.
goals: | # Установка зависимостей. Настройка параметров развертывания и публикация развертывания.
node -v
npm -v
npm install -g @serverless-devs/s
s config add --AccessKeyID $ACCESSKEYID --AccessKeySecret $ACCESSKEYSECRET -a default
s deploy -y --use-local
```Описание:
- `npm install -g @serverless-devs/s`: Установка последней версии Serverless Devs с помощью npm.
- `s config add --AccessKeyID $ACCESSKEYID --AccessKeySecret $ACCESSKEYSECRET -a default`: Настройка ключевой информации с помощью команды config.
- `s deploy -y --use-local`: Развертывание проекта с помощью команды deploy. Вы можете использовать команду build для сборки проекта. Заметки: Вы можете получить ключевую информацию, используя команду `$*`. Вам необходимо настроить ключи, которые требуются, и `Key` в GitHub. Например, в предыдущем примере требуются ключи для `ACCESSKEYID` и `ACCESSKEYSECRET`. Следуйте следующим шагам:
1. Откройте страницу управления переменными окружения в Gitee.
2. Настройте пары ключей.

В примере, показанном на следующем рисунке, настроены три пары ключей.

> Для получения дополнительной информации о настройке ключей см. [Precautions](#Precautions).
## Интеграция с Jenkins
Перед интеграцией Serverless Devs с Jenkins вам необходимо установить и запустить Jenkins. Для получения дополнительной информации см. [Jenkins](https://www.jenkins.io/en/doc/pipeline/tour/getting-started/).
После запуска Jenkins перейдите по адресу `http://localhost:8080` в браузере. Настройте базовые параметры и информацию о кредентах. На следующем рисунке показаны настройки.
Добавьте информацию о ключах в зависимости от ваших требований. Например, вы можете добавить следующие глобальные кредентиалы для Alibaba Cloud:
jenkins-alicloud-access-key-id : ключ accessKeyId для Alibaba Cloud jenkins-alicloud-access-key-secret : ключ accessKeySecret для Alibaba Cloud
> Нажмите [здесь](https://www.jenkins.io/en/doc/book/using/using-credentials/) для получения информации о том, как добавлять кредентиалы.
Вы можете добавить дополнительные настройки для проектов Serverless Devs:
- Создайте файл `Jenkinsfile`
```
pipeline {
agent {
docker {
image 'maven:3.3-jdk-8'
}
}
environment {
ALICLOUD_ACCESS = 'default'
ALICLOUD_ACCESS_KEY_ID = credentials('jenkins-alicloud-access-key-id')
ALICLOUD_ACCESS_KEY_SECRET = credentials('jenkins-alicloud-access-key-secret')
}
stages {
stage('Setup') {
steps {
sh 'scripts/setup.sh'
}
}
}
}
```
Описание:
- В разделе environment ключи обрабатываются на основе конфигураций.
- В разделе stages выполняется команда `sh 'scripts/setup.sh'` для запуска файла `scripts/setup.sh`.
- Чтобы подготовить файл `scripts/setup.sh`, создайте файл в проекте:
```shell script
#!/usr/bin/env bash
echo $(pwd)
curl -o- -L http://cli.so/install.sh | bash
source ~/.bashrc
echo $ALICLOUD_ACCOUNT_ID
s config add --AccessKeyID $ALICLOUD_ACCESS_KEY_ID --AccessKeySecret $ALICLOUD_ACCESS_KEY_SECRET -a $ALICLOUD_ACCESS
(cd code && mvn package && echo $(pwd))
``` s deploy -y --use-local --access $ALICLOUD_ACCESS
```
Следующая информация описывает содержимое файла:
- `curl -o- -L http://cli.so/install.sh | bash`: Скачивает и устанавливает Serverless Devs.
- `s config add --AccessKeyID $ALICLOUD_ACCESS_KEY_ID --AccessKeySecret $ALICLOUD_ACCESS_KEY_SECRET -a $ALICLOUD_ACCESS`: Конфигурирует информацию о ключах.
- `s deploy -y --use-local --access $ALICLOUD_ACCESS`: Выполняет команду деплоя для развертывания проекта или команду сборки для сборки проекта. После завершения конфигурации ключей вы можете создать конвейер Jenkins, источником которого является целевой адрес GitHub. Запустите конвейер Jenkins. Затем вы сможете получить соответствующие результаты после завершения работы конвейера.> Для получения дополнительной информации о конфигурации ключей см. [Precautions](#Precautions).
## Интеграция с Yunxiao
В Apsara DevOps выберите Serverless Devs и введите следующий контент в пользовательской команде:
npm install -g @serverless-devs/s s config add --AccessKeyID ${ACCESSKEYID} --AccessKeySecret ${ACCESSKEYSECRET} -a default s deploy -y --use-local
Описание:
- `npm install -g @serverless-devs/s`: Установите последнюю версию Serverless Devs с помощью npm. Serverless Devs в Apsara DevOps может быть более ранней версией. Вы можете запустить команду для установки последней версии Serverless Devs.
- `s config add --AccessKeyID ${ACCESSKEYID} --AccessKeySecret ${ACCESSKEYSECRET} -a default`: Настройте информацию о ключах с помощью команды config.
- `s deploy`: Запустите команду deploy для развертывания проектов или команду build для сборки проектов.
Пример:

В команде используются следующие переменные окружения: `ACCESSKEYID` и `ACCESSKEYSECRET`. Вам нужно добавить следующий контент в переменные окружения.

> Для получения дополнительной информации о конфигурации ключей см. [Precautions](#Precautions).
## Precautions
- При настройке ключей используется команда `s config add`. Последний параметр `-a default` используется для настройки псевдонима ключа как `default`. Псевдонимы должны быть согласованы с ключами, настроенными в проекте. Например, псевдонимы должны совпадать со значениями поля `access` в файле `s.yaml`.- Вы можете настроить несколько ключей и задать псевдонимы для ключей, если приложение развернуто на разных платформах и аккаунтах. После настройки псевдонимов вы можете использовать их в файле `s.yaml`.
- Если вы хотите настроить пользовательскую информацию о ключах, вы можете использовать параметры `-il` и `-kl`. Например, если вы хотите настроить две пары ключей и использовать пользовательские ключи, выполните следующие команды:
```yaml
s config add -kl tempToken1,tempToken2 -il tempValue1,tempValue2 -a website_access
s config add -kl tempToken3,tempToken4 -il tempValue3,tempValue4 -a fc_access
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )