Todos os produtos
Search
Central de documentação

CloudOps Orchestration Service:Command-only deployment package

Última atualização: Sep 07, 2026

Um pacote de implantação somente com comandos implanta uma aplicação inteiramente por meio de scripts, sem exigir arquivos de source.

Como funciona

Importante
  • Ao implantar em um grupo do Auto Scaling (ESS), as atividades de dimensionamento são pausadas durante a implantação e retomadas automaticamente ao término do processo, independentemente do resultado.

  • Cada implantação segue uma sequência de parada e início: o script de parada executa primeiro, seguido pelo script de início.

  1. Crie e publique uma implantação.

    Especifique o local do arquivo de source da aplicação no OSS, juntamente com os scripts de início e parada.

    Crie uma tarefa de release, selecione um release mode e publique a implantação no grupo de aplicações de destino.

  2. O processo de implantação automatizada funciona da seguinte forma:

    1. O service recupera as informações do pacote de implantação, incluindo os scripts de inicialização e encerramento.

    2. O service executa o script de encerramento para parar a versão anterior da aplicação.

    3. O service executa o script de inicialização para iniciar a nova versão da aplicação.

Observações de uso

  • As implantações têm suporte apenas em instâncias Linux.

  • Os scripts de início e parada devem ser shell scripts.

Procedimento

Exemplo de aplicação Java

  1. Crie uma aplicação e importe suas instâncias do Elastic Compute Service (ECS).

    1. Caso não tenha uma instância ECS, acesse a página ECS console - Custom Launch para criar uma instância ECS Linux.

      Os scripts de exemplo a seguir destinam-se a estas imagens. Se você utilizar uma imagem diferente, modifique os scripts adequadamente.
    2. Acesse a página ECS console - Application management e clique em Create from Existing Resources para criar uma aplicação e um grupo de aplicações, além de importar a instância ECS para o grupo.

  2. Crie um pacote de implantação.

    1. Acesse a página ECS console - Application management. Na aba My Applications, clique no nome da aplicação de destino.

    2. Na página de detalhes da aplicação, selecione a aba Deployment e clique em Create Deployment.

    3. Na página Create Deployment, defina Deployment Package Type como Run Command, configure os parameters e clique em OK.

      • Working directory: Especifique o diretório de trabalho para os scripts de inicialização e encerramento. Exemplo: /root/deploy.

      • Application startup script:

        Alibaba Cloud Linux

        start_application() {
          set -e
          curl -O https://oos-public-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/code-deploy/sample-spring-1.0-SNAPSHOT.jar
          yum install -y maven-3.5.4
          java -jar ./sample-spring-1.0-SNAPSHOT.jar &
        }
        
        start_application

        Ubuntu

        start_application() {
          set -e
          curl -O https://oos-public-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/code-deploy/sample-spring-1.0-SNAPSHOT.jar
          apt update
          apt install -y maven
          java -jar ./sample-spring-1.0-SNAPSHOT.jar &
        }
        
        start_application
      • Application shutdown script:

        ### Stop the application (if any)
        stop_application() {
          PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}')
          if [ -n "$PID" ]; then
            kill -9 $PID
          fi
        }
        
        stop_application
  3. Retorne à lista de implantações, localize a implantação criada e clique em Deploy. Selecione o grupo de destino e clique em OK para iniciar a implantação.

  4. Verifique o resultado.

    1. Acesse a página de detalhes da instância de destino. Clique em Connect e selecione Workbench. Siga as instruções na tela para acessar o terminal.

    2. Execute o comando curl http://localhost:8080/hello. Uma resposta com Alibaba Spring Sample! indica que a implantação foi bem-sucedida.

Exemplo de aplicação docker

  1. Prepare a aplicação, o grupo e as instâncias ECS.

    Antes de implantar, crie uma aplicação e um grupo no ECS Application Management. Em seguida, adicione suas instâncias ECS ao grupo.

    1. Caso não tenha uma instância ECS, acesse a página ECS console - Custom Launch para criar uma instância ECS Linux.

      Os scripts de exemplo a seguir destinam-se a estas imagens. Se você utilizar uma imagem diferente, modifique os scripts adequadamente.
    2. Acesse a página ECS console - Application management e clique em Create from Existing Resources para criar uma aplicação e um grupo de aplicações, além de importar a instância ECS para o grupo.

    3. Instale o docker nas instâncias ECS do grupo. Na aba O&M do grupo de aplicações, selecione ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL para instalar o docker em lote.

      Se sua instância ECS foi criada a partir de uma imagem personalizada, não é possível instalar extensões dessa maneira. Você deve remotely connect à instância e manually install Docker .
  2. Crie um pacote de implantação.

    1. Baixe a imagem de exemplo para sua máquina local e, em seguida, push the image to your ACR Personal Edition repository.

      docker pull aliyun-computenest-opensource-registry.cn-hangzhou.cr.aliyuncs.com/default/aliyun-code-deploy:latest
    2. Acesse a página ECS console - Application management. Na aba My Applications, clique no nome da aplicação de destino.

    3. Na página de detalhes da aplicação, selecione a aba Parameters e clique em Create Parameter. Crie dois parâmetros: username e password, correspondentes ao nome de usuário e senha do ACR Personal Edition. Para garantir a segurança, defina o parâmetro password como criptografado.

    4. Na página de detalhes da aplicação, selecione a aba Deployment e clique em Create Deployment.

    5. Na página Create Deployment, defina Deployment Package Type como Run Command, configure os parameters e clique em OK.

      • Working directory: Especifique o diretório de execução para os scripts de inicialização e encerramento. Exemplo: /root/deploy.

      • Application startup script: Substitua os placeholders <repo> e <image> pelos valores do seu repositório e imagem do ACR Personal Edition.

        repo é o endereço do seu repositório no ACR Personal Edition e image é o nome completo da imagem. Substitua os parâmetros correspondentes no script de inicialização pelos valores desses dois campos.
        ### Start the current version of the application
        start_application() {
           repo="<repo>"
           image="<image>"
           container_name="my-container"
           docker login --username=${username} --password=${password} $repo
           docker pull $image
           docker run -d -p 8080:8080 --name $container_name $image
        }
        
        start_application
      • Application shutdown script:

        ### Stop the container (if any)
        stop_application() {
          # Find the container by name and remove it if it exists.
          container_name="my-container"
          container_id=$(docker ps -aq -f name=${container_name}) 
          if [ -n "$container_id" ]; then
            docker rm -f $container_id
          fi
        }
        
        stop_application
  3. Retorne à lista de implantações, localize a implantação criada e clique em Deploy. Selecione o grupo de destino e clique em OK para iniciar a implantação.

  4. Verifique o resultado.

    1. Acesse a página de detalhes da instância de destino. Clique em Connect e selecione Workbench. Siga as instruções na tela para acessar o terminal.

    2. Execute o comando curl http://localhost:8080/hello. Uma resposta com Alibaba Spring Sample! indica que a implantação foi bem-sucedida.

Parâmetros principais

Parâmetro

Descrição

Diretório de trabalho

Diretório de trabalho para os scripts de inicialização e encerramento.

  • Insira um caminho absoluto.

  • Não é necessário que o diretório exista previamente. Ele é criado automaticamente durante a execução.

Script de inicialização da aplicação

Shell script responsável por iniciar a aplicação.

Script de encerramento da aplicação

Shell script para parar a aplicação.
O script deve interromper corretamente tanto a versão atual quanto a anterior da aplicação, além de sair adequadamente caso a aplicação não esteja em execução.







Por exemplo, o script abaixo para um contêiner chamado my-container. Ele pressupõe que todas as versões do contêiner compartilham o mesmo nome e não reporta erro caso o contêiner não exista:

container_name="my-container"
    container_id=$(docker ps -aq -f name=${container_name}) 
    if [ -n "$container_id" ]; then
      docker rm -f $container_id
    fi