Развернуть сценарий python на виртуальную машину из GitHub через конвейер Azure - PullRequest
0 голосов
/ 09 июля 2020

Моя цель - развернуть мой python скрипт с GitHub на моей виртуальной машине через Azure Pipeline. Я установил соединение, но не знаю, как клонировать репозиторий GitHub на виртуальную машину. Я выполнил инструкции здесь

Вот пример azure-pipeline.yml, который имеет следующее:

jobs: 
    - deployment: VMDeploy
      displayName: Test_script
      environment:
        name: deploymentenvironment
        resourceType: VirtualMachine
      strategy:
          rolling:
            maxParallel: 2  #for percentages, mention as x%
            preDeploy:
              steps:
              - download: current
                artifact: drop
              - script: echo initialize, cleanup, backup, install certs
            deploy:
              steps:
              - task: Bash@3
                inputs:
                  targetType: 'inline'
                  script: |
                    # Modify deployment script based on the app type
                    echo "Starting deployment script run"
                    sudo java -jar '$(Pipeline.Workspace)/drop/**/target/*.jar'
            routeTraffic:
              steps:
              - script: echo routing traffic
            postRouteTraffic:
              steps:
              - script: echo health check post-route traffic
            on:
              failure:
                steps:
                - script: echo Restore from backup! This is on failure
              success:
                steps:
                - script: echo Notify! This is on success

Что я должен поместить в часть развертывания по порядку заставить развертывание работать? Я хотел бы клонировать свой скрипт из GitHub в определенную папку c и немедленно запустить его. Я предполагаю, что это все, что мне нужно изменить:

# Modify deployment script based on the app type
  echo "Starting deployment script run"
  sudo java -jar '$(Pipeline.Workspace)/drop/**/target/*.jar'

Ответы [ 2 ]

0 голосов
/ 10 августа 2020

Я столкнулся с другой проблемой после того, как решил первую проблему. Я удалил artifact: drop из preDeploy в файле .yml. Затем я добавил python $(Agent.BuildDirectory)/example.py в сценарий развертывания.

Однако теперь я получаю следующую ошибку:

/usr/bin/python: can't find '__main__' module in '/home/ubuntu/azagent/_work/1/example.py'

My example.py выглядит так:

def main():
    print("Testing the pipeline")

if __name__ == '__main__':
    main()
0 голосов
/ 10 июля 2020

Когда вы создаете новый конвейер в Azure DevOps, выполните шаги мастера, сначала выбрав GitHub в качестве местоположения исходного кода. Возможно, вы будете перенаправлены на GitHub для входа. Если это так, введите свои учетные данные GitHub. Когда появится список репозиториев, выберите ваш репозиторий. Возможно, вас перенаправят на GitHub для установки приложения Azure Pipelines. Если да, выберите Утвердить и установите . Затем во время сборки репо будет загружено в $(Agent.BuildDirectory).

enter image description here

To run Python scripts in your repository, use a script element and specify a filename. For example:

- script: python src/example.py

More details, you can refer to the documentation below: https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/python?view=azure-devops

...