From 786b7e8e94c4978251e68395c2331b504ab948d5 Mon Sep 17 00:00:00 2001 From: lesyk <lesyk@users.noreply.github.com> Date: Mon, 17 Aug 2020 13:39:36 +0200 Subject: [PATCH] docs: how to setup pipeline for Azure DevOps (#6929) Co-authored-by: Jamie Magee <JamieMagee@users.noreply.github.com> --- .../assets/images/azure-devops-setup-1.png | Bin 0 -> 19210 bytes .../assets/images/azure-devops-setup-2.png | Bin 0 -> 6254 bytes docs/usage/setup-azure-devops.md | 81 ++++++++++++++++++ readme.md | 2 +- 4 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 docs/usage/assets/images/azure-devops-setup-1.png create mode 100644 docs/usage/assets/images/azure-devops-setup-2.png create mode 100644 docs/usage/setup-azure-devops.md diff --git a/docs/usage/assets/images/azure-devops-setup-1.png b/docs/usage/assets/images/azure-devops-setup-1.png new file mode 100644 index 0000000000000000000000000000000000000000..4d2b213dbff54884275d016147a8a15dabd8e7a2 GIT binary patch literal 19210 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 C7^)lq literal 0 HcmV?d00001 diff --git a/docs/usage/assets/images/azure-devops-setup-2.png b/docs/usage/assets/images/azure-devops-setup-2.png new file mode 100644 index 0000000000000000000000000000000000000000..17fbc1fbf4cf21cdd19b8a9a2f2afdcbae246688 GIT binary patch literal 6254 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 MBVh?h2`rHU00-el;s5{u literal 0 HcmV?d00001 diff --git a/docs/usage/setup-azure-devops.md b/docs/usage/setup-azure-devops.md new file mode 100644 index 0000000000..b5afe81263 --- /dev/null +++ b/docs/usage/setup-azure-devops.md @@ -0,0 +1,81 @@ +--- +title: Azure DevOps Setup +description: How to setup Renovate for Azure DevOps +--- + +# Azure DevOps Setup (for NPM/YARN) + +1. Create a brand new pipeline within Azure DevOps, and select your source. + + + +1. Select your repository. + +1. Within <i>Configure your pipeline</i> select: <b>Starter pipeline file</b>. + + + +1. Replace all contents with next NPM/YARN template (change all <i>PLACEHOLDER</i> strings with your values): + +``` +schedules: + - cron: '0 3 * * *' + displayName: 'Every day at 3am' + branches: + include: + - master + always: true + +trigger: none + +jobs: + - job: + pool: + vmImage: 'ubuntu-latest' + steps: + - checkout: none + + - task: Bash@3 + displayName: Create .npmrc file + inputs: + targetType: inline + script: | + cat > .npmrc << EOF + PLACEHOLDER(.NPMRC CONTENTS) + EOF + + - task: npmAuthenticate@0 + displayName: npm Authenticate + inputs: + workingFile: .npmrc + + - task: Bash@3 + displayName: Create renovate config + inputs: + targetType: inline + script: | + cat > config.js << EOF + module.exports = { + platform: 'azure', + endpoint: 'https://dev.azure.com/PLACEHOLDER(ORGANIZATION)/', + token: '$(System.AccessToken)', + npmrc: + '$(sed ':a;N;$!ba;s/\n/\\n/g' .npmrc)', + ignoreNpmrcFile: true, + repositories: ['PLACEHOLDER(PROJECT)/PLACEHOLDER(REPO NAME)'] + }; + EOF + + - task: Bash@3 + displayName: Run renovate + inputs: + targetType: inline + script: | + # Git credentials + git config --global user.email 'bot@renovateapp.com' + git config --global user.name 'Renovate Bot' + # Run renovate + npx --userconfig .npmrc renovate +``` + +1. Additionally, you can add `renovate.json` with renovate configurations in the root of the repo. [Read more about configurations options](https://docs.renovatebot.com/configuration-options/). diff --git a/readme.md b/readme.md index 36523f6aff..8fafc840e7 100644 --- a/readme.md +++ b/readme.md @@ -43,7 +43,7 @@ it now. A GitHub Marketplace plan is required only for private repositories. [Mo For GitLab, log into [app.renovatebot.com/dashboard](https://app.renovatebot.com/dashboard) for a convenient way to add Renovate Bot to your project. Currently the GitLab app is free for both public and private repositories. [More details on the GitLab App installation](https://docs.renovatebot.com/install-gitlab-app/). -For Azure DevOps, visit the Visual Studio Marketplace and install the [Renovate Me](https://marketplace.visualstudio.com/items?itemName=jyc.vsts-extensions-renovate-me) extension in your organisation. From there you can create a pipeline with the `RenovateMe` task. [More details on how to configure the pipeline](https://marketplace.visualstudio.com/items?itemName=jyc.vsts-extensions-renovate-me). Note: This extension is created and maintained personally by a Renovate developer/user so support requests relating to the extension itself cannot be answered directly in the main Renovate repository. +For Azure DevOps, visit the Visual Studio Marketplace and install the [Renovate Me](https://marketplace.visualstudio.com/items?itemName=jyc.vsts-extensions-renovate-me) extension in your organisation. From there you can create a pipeline with the `RenovateMe` task. [More details on how to configure the pipeline](https://marketplace.visualstudio.com/items?itemName=jyc.vsts-extensions-renovate-me). Note: This extension is created and maintained personally by a Renovate developer/user so support requests relating to the extension itself cannot be answered directly in the main Renovate repository. Alternatively, you can create custom pipeline with with a `yml` definition that will trigger `npx renovate`. [More details on how to configure the pipeline](https://docs.renovatebot.com/setup-azure-devops/). ## Configuration -- GitLab