As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Publique pacotes em um canal conda do Amazon S3
Você pode publicar pacotes conda em um bucket do Amazon Simple Storage Service (Amazon S3) para que os funcionários do AWS Deadline Cloud (Deadline Cloud) possam instalá-los para executar trabalhos. O rattler-build publish comando funciona com o Amazon S3 da mesma forma que com um canal de sistema de arquivos local. O comando pode criar uma receita e publicar o resultado, ou publicar um arquivo de pacote que você já criou. Em ambos os casos, o comando carrega o pacote no bucket e indexa o canal em uma única etapa.
O rattler-build publish comando é autenticado AWS usando a cadeia de credenciais padrão, portanto, ele usa sua AWS configuração como qualquer AWS ferramenta. Para obter mais informações sobre a configuração de credenciais, consulte Configuração e configurações do arquivo de credenciais no Guia do Usuário AWS Command Line Interface (AWS CLI).
Pré-requisitos
Antes de publicar pacotes no Amazon S3, preencha os seguintes pré-requisitos:
-
pixi e rattler-build — Instale o pixi do pixi.sh e, em seguida, instale.
rattler-buildpixi global install rattler-build -
git — Necessário para clonar o repositório de amostras. WindowsAtivado, o git for Windows
também fornece um bashshell, exigido por algumas das receitas de Windows amostra. -
Bucket Amazon S3 — Um bucket Amazon S3 para usar como canal conda. Você pode usar o repositório de anexos de tarefas do seu farm do Deadline Cloud ou criar um intervalo separado.
-
AWS credenciais — Configure as credenciais em sua estação de trabalho usando o
aws configurecomando ou o comando.aws loginPara obter mais informações, consulte Configuração do AWS CLI no Guia do usuário do AWS Command Line Interface . -
Permissões do IAM — (opcional) Para reduzir o escopo das permissões que suas credenciais têm, você pode usar uma política AWS Identity and Access Management (IAM) que concede somente as seguintes permissões no bucket do Amazon S3 e no prefixo do canal que você usa (por exemplo,):
/Conda/*-
s3:GetObject -
s3:PutObject -
s3:DeleteObject -
s3:ListBucket -
s3:GetBucketLocation
-
Publicar um pacote em um canal do Amazon S3
Use rattler-build publish com um s3:// destino para publicar um pacote em seu canal conda do Amazon S3. Se o canal não existir no bucket, rattler-build inicializará o canal automaticamente. Antes de começar, verifique se você concluiu os pré-requisitos.
O exemplo a seguir publica a receita de amostra Blender 4.5 do repositório de amostras do Deadline Cloud em
Para publicar um pacote em um canal do Amazon S3
-
Clone o repositório de amostras do Deadline Cloud.
git clone https://github.com/aws-deadline/deadline-cloud-samples.git -
Mude para o diretório
conda_recipes.cd deadline-cloud-samples/conda_recipes -
Execute o comando a seguir. Substitua
amzn-s3-demo-bucketpelo nome do seu bucket.Em Linux emacOS, execute o comando a seguir.
rattler-build publish blender-4.5/recipe/recipe.yaml \ --to s3://amzn-s3-demo-bucket/Conda/DefaultEm Windows (cmd), execute o comando a seguir.
rattler-build publish blender-4.5/recipe/recipe.yaml ^ --to s3://amzn-s3-demo-bucket/Conda/DefaultO
/Conda/Defaultprefixo organiza o canal dentro do bucket. Você pode usar um prefixo diferente, mas o prefixo deve ser consistente em todos os comandos e configurações de fila que fazem referência ao canal.
Para recriar e publicar um pacote atualizado, adicione --build-number=+1 para incrementar automaticamente o número da compilação.
rattler-build publish blender-4.5/recipe/recipe.yaml \ --to s3://amzn-s3-demo-bucket/Conda/Default \ --build-number=+1
Se a receita do pacote depender de pacotes de um canal específico, como conda-forge-c
conda-forge ao comando.
Você também pode publicar um arquivo de pacote que você já criou, por exemplo, um .conda arquivo de uma compilação local. Substitua amzn-s3-demo-bucket pelo nome do seu bucket.
rattler-build publish output/linux-64/blender-4.5.0-hb0f4dca_0.conda \ --to s3://amzn-s3-demo-bucket/Conda/Default
Testando o pacote
Depois de publicar o pacote, crie um projeto pixi temporário para verificar se o pacote funciona corretamente. O projeto instala o pacote a partir do canal Amazon S3.
Para testar o pacote
-
Crie um diretório de teste temporário e inicialize um projeto pixi com o canal Amazon S3. Substitua
amzn-s3-demo-bucketpelo nome do seu bucket.mkdir package-test-env cd package-test-env pixi init --channel s3://amzn-s3-demo-bucket/Conda/Default -
Adicione o pacote ao projeto.
pixi add blender=4.5 -
Verifique se o pacote funciona corretamente.
pixi run blender --version
Limpeza
Após o teste, remova o diretório do projeto de teste.
Para limpar os recursos de teste
-
Remova o diretório do projeto de teste.
Em Linux emacOS, execute o comando a seguir.
rm -rf package-test-envEm Windows (cmd), execute o comando a seguir.
rmdir /s /q package-test-env
Compilações de depuração
Se uma compilação falhar, rattler-build preserva o diretório de compilação para que você possa investigar. Execute o comando a seguir para abrir um shell interativo no ambiente de compilação com todas as variáveis de ambiente configuradas como estavam durante a compilação.
rattler-build debug shell
No shell de depuração, você pode modificar arquivos, executar comandos de compilação individuais e adicionar dependências para isolar o problema. Para obter mais informações, consulte Depuração de compilações na documentação do rattler-build
Construindo pacotes para outras plataformas
O rattler-build publish comando cria pacotes para o sistema operacional da estação de trabalho em que o comando é executado. Se sua frota do Deadline Cloud usa um sistema operacional diferente da sua estação de trabalho ou se seu pacote tem outros requisitos de hospedagem, você tem as seguintes opções:
-
Execute
rattler-build publishem um host que corresponda ao sistema operacional de destino. Por exemplo, use uma instância do Amazon Elastic Compute Cloud (Amazon EC2) em Linux execução para criar pacotes para uma frota. Linux -
Use uma fila de criação de pacotes do Deadline Cloud para automatizar compilações na plataforma de destino. Consulte Criar uma fila de criação de pacotes.
-
(Avançado) Use a compilação cruzada para criar pacotes para uma plataforma diferente da sua estação de trabalho. Para obter mais informações, consulte Compilação cruzada
na documentação do rattler-build.
Próximas etapas
Depois de publicar pacotes em seu canal conda do Amazon S3, configure suas filas do Deadline Cloud para usar o canal:
-
Configure permissões de fila de produção para pacotes conda personalizados — Conceda às suas filas de produção acesso somente de leitura ao canal conda do Amazon S3.
-
Adicionar um canal conda a um ambiente de fila — Configure o ambiente de fila para instalar pacotes do canal conda do Amazon S3.