问题
I have a very strange behaver where I starting 2 self-hosted agents from my AWS server to deliver files to the managed agent in azure all with different names to be unique. but in the azure pipeline, i can see both pipelines are taking the files from only 1 place instead of taking files from its unique place in the self-hosting server.
here is the command I'm starting the self-hosting docker server : they all take form :
docker run -d --rm -t
--name=ios_docker_128_linux_slave_2
-e AZP_WORK=/var/jenkins/jenkins_slave/workspace/run_build_ios@2/128/ios_build_temp/working_dir
-v /var/jenkins/jenkins_slave/workspace/run_build_ios@2/128/ios_build_temp/working_dir:/azp
-e AZP_URL=https://dev.azure.com/xxx -e AZP_TOKEN=xxxx
-e AZP_AGENT_NAME=ios_docker_128_linux_slave_2
xxx.xxx.com:1/azure_self_hosted_agent/agent:latest
docker run -d --rm -t
--name=ios_docker_127_linux_slave_2
-e AZP_WORK=/var/jenkins/jenkins_slave/workspace/run_build_ios/127/ios_build_temp/working_dir
-v /var/jenkins/jenkins_slave/workspace/run_build_ios/127/ios_build_temp/working_dir:/azp
-e AZP_URL=https://dev.azure.com/xxx
-e AZP_TOKEN=xxxx
-e AZP_AGENT_NAME=ios_docker_127_linux_slave_2
xxx.xxx.com:1/azure_self_hosted_agent/agent:latest
but see in the azure pipeline they are taking the files fro the same place :
pay attention they all take the files from /run_build_ios/127
/var/jenkins/jenkins_slave/workspace/run_build_ios/127/ios_build_temp/working_dir/_temp/
look at the red markers
how my pipeline looks like :
pool:
vmImage: 'macOS 10.14'
parameters:
- name: Folderpath
type: string
displayName: 'configure path'
- name: FolderCompile
type: string
displayName: 'Compile ios productes path'
- name: projectName
type: string
displayName: 'ios projectName'
- name: appIdentifier
type: string
displayName: 'ios appIdentifier'
- name: versionNumber
type: string
displayName: 'ios versionNumber'
- name: buildNumber
type: string
displayName: 'ios buildNumber'
- name: plistFileFtpBasePath
type: string
displayName: 'ios plistFileFtpBasePath'
- name: fastlaneAppleSession
type: string
displayName: 'ios fastlaneAppleSession'
variables:
scheme: ''
sdk: 'iphoneos'
configuration: 'Release'
CERTIFICATE_PASSWORD: xxxx
FASTLANE_PASSWORD: xxxx
FASTLANE_SESSION: '${{parameters.fastlaneAppleSession}}'
jobs:
- job: self_hosted_connect
timeoutInMinutes: 10
pool: Default
steps:
- task: CopyFiles@2
inputs:
SourceFolder: '$(Agent.HomeDirectory)/../${{parameters.Folderpath}}'
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: '$(build.artifactstagingdirectory)'
artifactName: 'ios_artifacts'
- job: mac_agent
dependsOn: self_hosted_connect
timeoutInMinutes: 10
pool:
vmImage: 'macOS 10.14'
- task: UseRubyVersion@0
inputs:
versionSpec: '>= 2.4'
addToPath: true
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'ios_artifacts'
downloadPath: '$(System.ArtifactsDirectory)'
- script: |
gem install --no-document bundler
bundle update --bundler
bundle install --retry=3 --jobs=4
gem install --no-document fastlane
mkdir fastlane
mv Fastfile fastlane
mv Appfile fastlane
pod deintegrate
gem install cocoapods
pod install
pod --version
fastlane release --verbose projectName:${{parameters.projectName}} appIdentifier:${{parameters.appIdentifier}} versionNumber:${{parameters.versionNumber}} buildNumber:${{parameters.buildNumber}} plistFileFtpBasePath:${{parameters.plistFileFtpBasePath}} ArtifactsDirectory:$(System.ArtifactsDirectory)
workingDirectory: '$(System.ArtifactsDirectory)/ios_artifacts'
displayName: 'create_keychain'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'Artifacts'
publishLocation: 'Container'
- job: copy_back_files_to_self_hosted_connect
dependsOn: mac_agent
timeoutInMinutes: 10
pool: Default
steps:
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'Artifacts'
itemPattern: '**/*.ipa|manifest.plist'
downloadPath: '$(System.ArtifactsDirectory)'
- task: CopyFiles@2
inputs:
SourceFolder: '$(System.ArtifactsDirectory)'
Contents: '**/*.ipa|manifest.plist'
TargetFolder: '$(Agent.HomeDirectory)/../${{parameters.FolderCompile}}'
also here you can see i have 3 agents ( the name is a bit different as i took the picture later but it always 3 up )
来源:https://stackoverflow.com/questions/64460219/azure-starting-2-self-hosted-servers-deliver-files-to-azure-managed-agent-both-i