Criando uma tarefa por meio de imagens em um registro público

Ao criar uma tarefa, é possível especificar informações de configuração de carga de trabalho que são usadas cada vez que a tarefa é executada. É possível criar uma tarefa por meio do console ou com a CLI.

Criando uma tarefa com o console

Crie uma tarefa Code Engine usando a imagem icr.io/codeengine/helloworld. Esta tarefa imprime Hello from helloworld! I'm a task job!.

  1. Abra Code Engine.
  2. Selecione “Começar a criar ”.
  3. Selecione um projeto na lista de projetos disponíveis. Também é possível criar um novo. Observe que deve-se ter um projeto selecionado para criar uma tarefa.
  4. Selecione Tarefa.
  5. Insira um nome para a tarefa, por exemplo, myjob.
  6. Especifique uma imagem de contêiner para a sua tarefa, por exemplo, icr.io/codeengine/helloworld. Se você tiver seu próprio código-fonte e quiser transformá-lo em uma imagem de contêiner para a tarefa, consulte Construindo uma imagem de contêiner. Para obter mais informações sobre o código que é usado para este exemplo, consulte helloworld.
  7. Modifique os valores padrão de variáveis de ambiente ou configurações de tempo de execução. Para obter mais informações sobre essas opções, consulte Opções para criar e executar uma tarefa.
  8. Clique em Criar.
  9. Na página da sua tarefa, quando a tarefa estiver no status ready, clique em Enviar tarefa para enviar uma tarefa com base na configuração atual.
  10. No painel Enviar tarefa, aceite todos os valores padrão e clique em Enviar tarefa novamente para executar sua tarefa.

No painel “Enviar tarefa”, você pode revisar e, se desejar, alterar os valores de configuração padrão, como instâncias, CPU, memória, número de tentativas de execução da tarefa e tempo limite da tarefa. Você pode especificar o tamanho da matriz ou os índices da matriz para as instâncias de trabalho paralelo a serem executadas. No campo “Tamanho da matriz ”, informe o número de instâncias a serem executadas em paralelo para este trabalho. Para índices de matriz, forneça uma lista separada por vírgulas com seu conjunto personalizado de índices. Por exemplo, para executar esse trabalho com um conjunto personalizado de índices do 5 , especifique 3,12-14,25``. Também é possível especificar um valor customizado para o tamanho da matriz de tarefa, que atualiza o valor da variável de ambiente JOB_ARRAY_SIZE injetada automaticamente. Depois de enviar esta tarefa, o sistema exibirá o status das instâncias de sua tarefa na página Detalhes da tarefa. Se você especificar o tamanho da matriz em vez dos índices da matriz no painel “Enviar tarefa”, na seção “ Configuration ” da página de detalhes da tarefa, essas informações serão apresentadas como índices da matriz.

É possível localizar detalhes sobre a execução da tarefa na página de status Tarefa.

Criando uma tarefa com a CLI

Para criar uma configuração de tarefa com a CLI, use o comando job create. Esse comando requer um nome e uma imagem e também permite outros argumentos opcionais. Para obter uma listagem completa de opções, consulte o comando ibmcloud ce job create.

Antes de Iniciar

O comando job create a seguir cria uma configuração de tarefa que é denominada myjob e usa a imagem do contêiner icr.io/codeengine/firstjob.

ibmcloud ce job create --name myjob  --image icr.io/codeengine/firstjob

Saída de exemplo

Creating job 'myjob'...
OK

A tabela a seguir resume as opções que são usadas com o comando job create neste exemplo. Consulte o comando ibmcloud ce job create para obter mais informações sobre ele e as opções que ele oferece.

Opções de comando
Opção Descrição
--image O nome da imagem que é usada para execuções da tarefa. Este valor é necessário. O formato é REGISTRY/NAMESPACE/REPOSITORY:TAG em que REGISTRY e TAG são opcionais. Se TAG não for especificado, o padrão será latest. Para imagens no Hub d Docker, você pode especificar a imagem com NAMESPACE/REPOSITORY, já que o padrão para REGISTRY é docker.io. Para outros registros, use REGISTRY/NAMESPACE/REPOSITORY ou REGISTRY/NAMESPACE/REPOSITORY:TAG.
--name O nome da tarefa. Use um nome que seja exclusivo dentro do projeto. Esse valor é necessário.
-O nome deve começar e terminar com um caractere alfanumérico minúscula.
-O nome deve ter 63 caracteres ou menos e pode conter letras minúsculas, números e hifens (-).

Próximas etapas

  • Depois de criar sua tarefa, envie-a para executá-la. Consulte Executar uma tarefa. É possível executar sua tarefa várias vezes.

  • Depois de executar sua tarefa, para visualizar detalhes da sua tarefa e das execuções de tarefa, consulte Acessar detalhes da tarefa.

  • Agora que sua tarefa foi criada, considere tornar suas tarefas orientadas para evento. Ao usar assinaturas de evento, é possível acionar suas tarefas por meio de planejamentos periódicos ou configurar sua tarefa para reagir a eventos como uploads de arquivo.

  • É possível atualizar sua tarefa e seu código referenciado de qualquer uma das maneiras a seguir, independentemente de como você criou ou atualizou previamente a sua tarefa.

    • Se você tiver uma imagem de contêiner, de acordo com o padrão da Open Container Initiative(OCI), basta fornecer apenas uma referência à imagem, que aponte para o local do seu registro de contêineres ao criar (ou atualizar) sua tarefa. Você pode criar (ou atualizar) seu trabalho a partir de imagens em um registro público ou privado e, em seguida, acessar a imagem referenciada durante a execução do seu trabalho.

      Se você criou o seu job usando o comando job create e especificou a opção --build-source para construir a imagem do container a partir de origem local ou repositório, e deseja alterar o seu job para apontar para uma imagem de container diferente, deve-se primeiro remover a associação da construção a partir do seu job. Por exemplo, execute ibmcloud ce job update -n JOB_NAME --build-clear. Depois de remover a associação da construção a partir do seu trabalho, você pode atualizar o trabalho para referencia uma imagem diferente.

    • Se você está começando com código-fonte que reside em um repositório Git, é possível optar por deixar que o Code Engine cuide da construção da imagem por meio de sua origem e implemente (ou atualize) o app com uma operação única. Neste cenário, o Code Engine faz upload da sua imagem para o IBM Cloud® Container Registry. Para saber mais, consulte Criando uma tarefa por meio do código-fonte do repositório. Se você quiser mais controle sobre a construção da sua imagem, poderá optar por construir a imagem com o Code Engine antes de criar (ou atualizar) sua tarefa e executá-la.

    • Se você está começando com código-fonte que reside em uma estação de trabalho local, é possível optar por deixar que o Code Engine cuide da construção da imagem por meio de sua origem e da criação da tarefa com um comando da CLI único. Neste cenário, o Code Engine faz upload da sua imagem para o IBM Cloud® Container Registry. Para saber mais, consulte Criando sua tarefa por meio do código-fonte local com a CLI. Se você quiser mais controle sobre a construção da sua imagem, poderá optar por construir a imagem com o Code Engine antes de criar (ou atualizar) sua tarefa e executá-la.

    Por exemplo, você pode optar por deixar que o Code Engine cuide da construção de sua origem local enquanto você cuida do desenvolvimento de sua origem para a tarefa. Em seguida, após o amadurecimento da imagem, é possível atualizar a tarefa para referenciar a imagem específica que desejar. É possível repetir esse processo conforme necessário.

    Ao executar sua tarefa atualizada, a versão mais recente de sua imagem de contêiner referenciada é usada para a execução da tarefa, a menos que uma tag seja especificada para a imagem. Se uma tag for especificada para a imagem, a imagem marcada será usada para a execução da tarefa.

Procurando mais exemplos de código? Confira os exemplos no repositório “ IBM Cloud Code Engine ” GitHub.