itye1970
itye1970

Reputation: 1995

where do i put task in the yaml file?

I keep getting an error when inserting the -task in the below yaml...what am i doing wrong??

pool:
  vmImage: ubuntu-latest

variables:
  - group: variables

**- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      # Write your PowerShell commands here.
      
      Write-Host "pullrequest"
      Write-Host "PR Number is:-" $(System.PullRequest.PullRequestId)"
      Write-Host "PR Number is:-" $(System.PullRequest.PullRequestNumber)"**

  # Login to DockerHub
  - script: docker login -u $(dockerId) -p $pass
    env:
      pass: $(dockerPassword)
    displayName: Login to DockerHub

  # Build and run tests
  - script: |
      docker pull $(dockerRegistry)/$(dockerImageName):cache-test-dependencies || true
      docker pull $(dockerRegistry)/$(dockerImageName):cache-test || true

      docker-compose --file=docker-compose.test.yml build
    displayName: Build test Docker image
    continueOnError: false

Upvotes: 0

Views: 2233

Answers (2)

DreadedFrost
DreadedFrost

Reputation: 2998

To elaborate more, additionally you most likely will want stages and jobs on this:

pool:
vmImage: ubuntu-latest

variables:
  - group: variables
stages:
- stage: Build_Stage
    jobs:
    - job: Build_Job
        steps:
        - task: PowerShell@2
          inputs:
            targetType: 'inline'
            script: |
              # Write your PowerShell commands here.
              
              Write-Host "pullrequest"
              Write-Host "PR Number is:-" $(System.PullRequest.PullRequestId)"
              Write-Host "PR Number is:-" $(System.PullRequest.PullRequestNumber)"**
        
        # Login to DockerHub
        - script: docker login -u $(dockerId) -p $pass
        env:
          pass: $(dockerPassword)
        displayName: Login to DockerHub

        # Build and run tests
        - script: |
          docker pull $(dockerRegistry)/$(dockerImageName):cache-test-dependencies || true
          docker pull $(dockerRegistry)/$(dockerImageName):cache-test || true

          docker-compose --file=docker-compose.test.yml build
        displayName: Build test Docker image
        continueOnError: false

Stages will set you up to tie to environments, meanwhile jobs will set you up to take advantage of parrellelism if running multiple jobs.

Upvotes: 0

Adam
Adam

Reputation: 4580

task must be a member of steps

Reference docs here; https://learn.microsoft.com/en-us/azure/devops/pipelines/yaml-schema/steps-task?view=azure-pipelines.

Add

steps:

Before your task.

Upvotes: 3

Related Questions