mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
add docker build
This commit is contained in:
committed by
AzureDataStudio
parent
e450369d5e
commit
0382c561f3
13
build/azure-pipelines/docker/createDrop.sh
Executable file
13
build/azure-pipelines/docker/createDrop.sh
Executable file
@@ -0,0 +1,13 @@
|
|||||||
|
set -e
|
||||||
|
REPO="$(pwd)"
|
||||||
|
ROOT="$REPO/.."
|
||||||
|
|
||||||
|
PLATFORM_LINUX="linux-x64"
|
||||||
|
SERVER_BUILD_NAME="azuredatastudio-server-$PLATFORM_LINUX"
|
||||||
|
|
||||||
|
# create docker
|
||||||
|
mkdir -p $REPO/.build/docker
|
||||||
|
docker build -t azuredatastudio-server -f $REPO/build/azure-pipelines/docker/Dockerfile $ROOT/$SERVER_BUILD_NAME
|
||||||
|
docker save azuredatastudio-server | gzip > $REPO/.build/docker/azuredatastudio-server-docker.tar.gz
|
||||||
|
|
||||||
|
node build/azure-pipelines/common/copyArtifacts.js
|
||||||
96
build/azure-pipelines/docker/sql-product-build-docker.yml
Normal file
96
build/azure-pipelines/docker/sql-product-build-docker.yml
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
steps:
|
||||||
|
- task: NodeTool@0
|
||||||
|
inputs:
|
||||||
|
versionSpec: '10.15.1'
|
||||||
|
|
||||||
|
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3
|
||||||
|
inputs:
|
||||||
|
versionSpec: "1.x"
|
||||||
|
|
||||||
|
- task: AzureKeyVault@1
|
||||||
|
displayName: 'Azure Key Vault: Get Secrets'
|
||||||
|
inputs:
|
||||||
|
azureSubscription: 'ClientToolsInfra_670062 (88d5392f-a34f-4769-b405-f597fc533613)'
|
||||||
|
KeyVaultName: ado-secrets
|
||||||
|
SecretsFilter: 'github-distro-mixin-password'
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
cat << EOF > ~/.netrc
|
||||||
|
machine github.com
|
||||||
|
login azuredatastudio
|
||||||
|
password $(github-distro-mixin-password)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
git config user.email "andresse@microsoft.com"
|
||||||
|
git config user.name "AzureDataStudio"
|
||||||
|
displayName: Prepare tooling
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
git remote add distro "https://github.com/$(VSCODE_MIXIN_REPO).git"
|
||||||
|
git fetch distro
|
||||||
|
git merge $(node -p "require('./package.json').distro")
|
||||||
|
displayName: Merge distro
|
||||||
|
|
||||||
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.RestoreCacheV1.RestoreCache@1
|
||||||
|
inputs:
|
||||||
|
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||||
|
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||||
|
vstsFeed: 'BuildCache'
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||||
|
displayName: Install dependencies
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: $(github-distro-mixin-password)
|
||||||
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
|
- task: 1ESLighthouseEng.PipelineArtifactCaching.SaveCacheV1.SaveCache@1
|
||||||
|
inputs:
|
||||||
|
keyfile: 'build/.cachesalt, .yarnrc, remote/.yarnrc, **/yarn.lock, !**/node_modules/**/yarn.lock, !**/.*/**/yarn.lock, !samples/**/yarn.lock'
|
||||||
|
targetfolder: '**/node_modules, !**/node_modules/**/node_modules, !samples/**/node_modules'
|
||||||
|
vstsFeed: 'BuildCache'
|
||||||
|
condition: and(succeeded(), ne(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
yarn postinstall
|
||||||
|
displayName: Run postinstall scripts
|
||||||
|
condition: and(succeeded(), eq(variables['CacheRestored'], 'true'))
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
node build/azure-pipelines/mixin
|
||||||
|
displayName: Mix in quality
|
||||||
|
|
||||||
|
- task: DownloadPipelineArtifact@2
|
||||||
|
inputs:
|
||||||
|
buildType: 'current'
|
||||||
|
targetPath: '$(Build.SourcesDirectory)/.build'
|
||||||
|
artifactName: drop
|
||||||
|
itemPattern: |
|
||||||
|
drop/linux/server/*.tar.gz
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
for f in $(Build.SourcesDirectory)/.build/linux/server/*.tar.gz
|
||||||
|
do
|
||||||
|
tar -C $(agent.builddirectory) -zxvf $f
|
||||||
|
rm $f
|
||||||
|
done
|
||||||
|
displayName: Unzip artifacts
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
set -e
|
||||||
|
./build/azure-pipelines/docker/createDrop.sh
|
||||||
|
displayName: Create Drop
|
||||||
|
|
||||||
|
- task: PublishBuildArtifacts@1
|
||||||
|
displayName: 'Publish Artifact: drop'
|
||||||
|
|
||||||
|
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0
|
||||||
|
displayName: 'Component Detection'
|
||||||
|
inputs:
|
||||||
|
failOnAlert: true
|
||||||
@@ -29,9 +29,4 @@ SERVER_TARBALL_PATH="$REPO/.build/linux/server/$SERVER_TARBALL_FILENAME"
|
|||||||
rm -rf $ROOT/azuredatastudio-server-*.tar.*
|
rm -rf $ROOT/azuredatastudio-server-*.tar.*
|
||||||
(cd $ROOT && mv $LEGACY_SERVER_BUILD_NAME $SERVER_BUILD_NAME && tar --owner=0 --group=0 -czf $SERVER_TARBALL_PATH $SERVER_BUILD_NAME)
|
(cd $ROOT && mv $LEGACY_SERVER_BUILD_NAME $SERVER_BUILD_NAME && tar --owner=0 --group=0 -czf $SERVER_TARBALL_PATH $SERVER_BUILD_NAME)
|
||||||
|
|
||||||
# create docker
|
|
||||||
mkdir -p $REPO/.build/docker
|
|
||||||
docker build -t azuredatastudio-server -f $REPO/build/azure-pipelines/docker/Dockerfile $ROOT/$SERVER_BUILD_NAME
|
|
||||||
docker save azuredatastudio-server | gzip > $REPO/.build/docker/azuredatastudio-server-docker.tar.gz
|
|
||||||
|
|
||||||
node build/azure-pipelines/common/copyArtifacts.js
|
node build/azure-pipelines/common/copyArtifacts.js
|
||||||
|
|||||||
@@ -37,6 +37,16 @@ jobs:
|
|||||||
- template: linux/sql-product-build-linux.yml
|
- template: linux/sql-product-build-linux.yml
|
||||||
timeoutInMinutes: 70
|
timeoutInMinutes: 70
|
||||||
|
|
||||||
|
- job: Docker
|
||||||
|
condition: eq(variables['VSCODE_BUILD_DOCKER'], 'true')
|
||||||
|
pool:
|
||||||
|
vmImage: 'Ubuntu-16.04'
|
||||||
|
container: linux-x64
|
||||||
|
dependsOn:
|
||||||
|
- Linux
|
||||||
|
steps:
|
||||||
|
- template: docker/sql-product-build-docker.yml
|
||||||
|
|
||||||
- job: Windows
|
- job: Windows
|
||||||
condition: eq(variables['VSCODE_BUILD_WIN32'], 'true')
|
condition: eq(variables['VSCODE_BUILD_WIN32'], 'true')
|
||||||
pool:
|
pool:
|
||||||
@@ -64,6 +74,7 @@ jobs:
|
|||||||
dependsOn:
|
dependsOn:
|
||||||
- macOS
|
- macOS
|
||||||
- Linux
|
- Linux
|
||||||
|
- Docker
|
||||||
- Windows
|
- Windows
|
||||||
- Windows_Test
|
- Windows_Test
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "azuredatastudio",
|
"name": "azuredatastudio",
|
||||||
"version": "1.17.0",
|
"version": "1.17.0",
|
||||||
"distro": "b5ba37f6b0c11bd7c826d81dec82c379633e0e27",
|
"distro": "e08a809780402678e4367488126b47bb761d94a1",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Microsoft Corporation"
|
"name": "Microsoft Corporation"
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user