1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/serverless-devs-Serverless-Devs

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
cicd.md 15 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 24.05.2025 16:44 c46f8bb
title description position category
CICD
Интеграция Serverless Devs с платформами и инструментами CI и CD
5
Обзор

Интеграция с платформами и инструментами CI и CD

Интеграция с GitHub Actions

В 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. Следуйте следующим шагам для настройки ключей:
  1. Настройте ключевую информацию в GitHub Secrets.
  2. Добавьте пары ключей. В примере, показанном на следующем рисунке, настроено три пары ключей.

Для получения дополнительной информации о конфигурации ключей, см. 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.![img](file:////Users/jiangyu/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image004.png)

2. Настройте пары ключей.
    ![](https://user-images.githubusercontent.com/21079031/124719394-aa67ee80-df39-11eb-84ad-944ccf0486ba.png)
    В примере, показанном на следующем рисунке, настроены три пары ключей.
    ![](https://user-images.githubusercontent.com/21079031/124719496-c9ff1700-df39-11eb-8ef6-4ccae28caefc.png)

> Для получения дополнительной информации о настройке ключей см. [Precautions](#Precautions).


## Интеграция с Jenkins

Перед интеграцией Serverless Devs с Jenkins вам необходимо установить и запустить Jenkins. Для получения дополнительной информации см. [Jenkins](https://www.jenkins.io/en/doc/pipeline/tour/getting-started/).

После запуска Jenkins перейдите по адресу `http://localhost:8080` в браузере. Настройте базовые параметры и информацию о кредентах. На следующем рисунке показаны настройки.![](https://img.alicdn.com/imgextra/i2/O1CN01tSgoo71Ne62AMGxqh_!!6000000001594-2-tps-3582-1048.png)

Добавьте информацию о ключах в зависимости от ваших требований. Например, вы можете добавить следующие глобальные кредентиалы для 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 для сборки проектов.

Пример:

![image](https://user-images.githubusercontent.com/21079031/144697943-2ce9ea56-7af8-4c3b-945b-6897e6d744b5.png)

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

![image](https://user-images.githubusercontent.com/21079031/144699074-3dad63d7-835f-4eb8-bd95-662de683dbbc.png)

> Для получения дополнительной информации о конфигурации ключей см. [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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/serverless-devs-Serverless-Devs.git
git@api.gitlife.ru:oschina-mirror/serverless-devs-Serverless-Devs.git
oschina-mirror
serverless-devs-Serverless-Devs
serverless-devs-Serverless-Devs
master