Skip to content

Commit c3e6585

Browse files
committed
Rearrange to allow binaries been kept
1 parent 6cac010 commit c3e6585

3 files changed

Lines changed: 87 additions & 111 deletions

File tree

templates/t-extend-database-build.yml

Lines changed: 31 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,7 @@ parameters:
99
- name: utplsqlVersion
1010
default: ""
1111
- name: utplsqlDir
12-
default: ""
13-
- name: addToPaths
14-
type: object
15-
default:
16-
- name: path
17-
default: ""
12+
default: ""
1813
- name: targetDatabases
1914
type: object
2015
default:
@@ -43,69 +38,36 @@ parameters:
4338
default: ""
4439

4540

46-
stages:
47-
- ${{ if parameters.enableDatabaseBuild }}:
48-
- stage: DatabaseBuildAndTest
49-
pool:
50-
vmImage: ubuntu-latest
51-
jobs:
52-
- template: t-extend-download-binaries.yml
53-
parameters:
54-
packages:
55-
- name: sqlcl
56-
download_location: "$(Build.BinariesDirectory)/sqlcl-latest.zip"
57-
unpack_location: "$(Build.BinariesDirectory)"
58-
url: "https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-latest.zip"
59-
archive: "zip"
60-
61-
- name: utlplsqlcli
62-
download_location: "$(Build.BinariesDirectory)/utPLSQL-cli.zip"
63-
unpack_location: "$(Build.BinariesDirectory)"
64-
url: "https://github.com/utPLSQL/utPLSQL-cli/releases/download/$(UTPLSQL_CLI_VERSION)/utPLSQL-cli.zip"
65-
archive: "zip"
66-
- job: CreateDatabase
67-
displayName: Create Database
68-
steps:
69-
- checkout: self
70-
- ${{ each addpath in parameters.addToPaths }}:
71-
- bash: |
72-
echo "Setting variable ${{addpath.path}}"
73-
echo "##vso[task.prependpath]${{addpath.path}}"
74-
ls -ltr ${{addpath.path}}
75-
echo $PATH
76-
77-
ls -ltr $(Build.BinariesDirectory)
78-
displayName: 'Add To path ${{addpath.path}}'
79-
80-
- bash: |
81-
git clone --depth=1 --branch=${{ parameters.utplsqlVersion }} https://github.com/utPLSQL/utPLSQL.git ${{ parameters.utplsqlDir}}
82-
chmod -R go+w ${{ parameters.utplsqlDir}}
83-
displayName: 'Download utPLSQL'
41+
steps:
42+
- bash: |
43+
git clone --depth=1 --branch=${{ parameters.utplsqlVersion }} https://github.com/utPLSQL/utPLSQL.git ${{ parameters.utplsqlDir}}
44+
chmod -R go+w ${{ parameters.utplsqlDir}}
45+
displayName: 'Download utPLSQL'
8446

85-
- task: Docker@2
86-
displayName: Docker Login
87-
inputs:
88-
containerRegistry: ${{ parameters.containerRegistry }}
89-
command: 'login'
90-
addPipelineData: false
91-
addBaseImageData: false
47+
- task: Docker@2
48+
displayName: Docker Login
49+
inputs:
50+
containerRegistry: ${{ parameters.containerRegistry }}
51+
command: 'login'
52+
addPipelineData: false
53+
addBaseImageData: false
9254

93-
- ${{ each trg_db in parameters.targetDatabases }}:
94-
- bash: |
95-
# download Oracle Database docker image from private repo and start the DB
96-
time docker pull ${{ parameters.dockerRepo }}:${{ trg_db.oracleVersion }}
97-
# start the docker container (DB)
98-
time docker run -d --name ${{ trg_db.oracleVersion }} ${{ trg_db.dockerOptions }} -p 1521:${{ trg_db.dockerPortMap }} ${{ parameters.dockerRepo }}:${{ trg_db.oracleVersion }}
99-
# Wait for DB startup
100-
time docker logs -f ${{ trg_db.oracleVersion }} | grep -m 1 "DATABASE IS READY TO USE!" --line-buffered
101-
displayName: 'Start Oracle DB Docker container: ${{ trg_db.oracleVersion }}'
55+
- ${{ each trg_db in parameters.targetDatabases }}:
56+
- bash: |
57+
# download Oracle Database docker image from private repo and start the DB
58+
time docker pull ${{ parameters.dockerRepo }}:${{ trg_db.oracleVersion }}
59+
# start the docker container (DB)
60+
time docker run -d --name ${{ trg_db.oracleVersion }} ${{ trg_db.dockerOptions }} -p 1521:${{ trg_db.dockerPortMap }} ${{ parameters.dockerRepo }}:${{ trg_db.oracleVersion }}
61+
# Wait for DB startup
62+
time docker logs -f ${{ trg_db.oracleVersion }} | grep -m 1 "DATABASE IS READY TO USE!" --line-buffered
63+
displayName: 'Start Oracle DB Docker container: ${{ trg_db.oracleVersion }}'
10264

103-
- ${{ each script in trg_db.scripts }}:
104-
- template: t-extend-sqlcl.yml
105-
parameters:
106-
work_dir: ${{ script.work_dir}}
107-
user: ${{ script.user}}
108-
password: ${{ script.password}}
109-
connectionString: ${{ trg_db.connectionString}}
110-
script: ${{ script.script}}
111-
displayName: ${{ script.displayName}}
65+
- ${{ each script in trg_db.scripts }}:
66+
- template: t-extend-sqlcl.yml
67+
parameters:
68+
work_dir: ${{ script.work_dir}}
69+
user: ${{ script.user}}
70+
password: ${{ script.password}}
71+
connectionString: ${{ trg_db.connectionString}}
72+
script: ${{ script.script}}
73+
displayName: ${{ script.displayName}}

templates/t-extend-download-binaries.yml

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,33 +14,33 @@ parameters:
1414
- name: url
1515
default: ""
1616
- name: archive
17-
default: "zip"
17+
default: "zip"
18+
- name: addToPath
19+
default: ""
1820
- name: clean
1921
type: boolean
2022
default: true
2123

24+
steps:
25+
- ${{ each package in parameters.packages }}:
26+
- bash: |
27+
curl -Lk -o ${{package.download_location}} \
28+
${{package.url}}
29+
displayName: 'Download ${{package.name}}'
2230
23-
jobs:
24-
- job: DownloadBinaries
25-
displayName: Download Build Binaries
26-
steps:
27-
- checkout: none
28-
- ${{ each package in parameters.packages }}:
29-
- bash: |
30-
curl -Lk -o ${{package.download_location}} \
31-
${{package.url}}
32-
displayName: 'Download ${{package.name}}'
33-
- ${{ if eq(package.archive,'zip') }}:
34-
- bash: |
35-
echo Unzipping to ${{package.unpack_location}}
36-
unzip -qq -d ${{package.unpack_location}} ${{package.download_location}}
37-
chmod -R u+x ${{package.unpack_location}}
31+
- ${{ if eq(package.archive,'zip') }}:
32+
- bash: |
33+
echo Unzipping to ${{package.unpack_location}}
34+
unzip -qq -d ${{package.unpack_location}} ${{package.download_location}}
35+
chmod -R u+x ${{package.unpack_location}}
36+
displayName: 'Unzip ${{package.name}}'
3837
39-
ls -ltr ${{package.unpack_location}}
38+
- ${{ if package.addToPath }}:
39+
- bash: |
40+
echo "##vso[task.prependpath]${{package.addToPath}}"
41+
displayName: 'Add To path ${{package.name}}'
4042
41-
displayName: 'Unzip ${{package.name}}'
42-
43-
- ${{ if coalesce(package.clean,true) }}:
44-
- bash: |
45-
rm -rf ${{package.download_location}}
46-
displayName: 'Clean ${{package.name}}'
43+
- ${{ if coalesce(package.clean,true) }}:
44+
- bash: |
45+
rm -rf ${{package.download_location}}
46+
displayName: 'Clean ${{package.name}}'

utlplsql-demo-project.yml

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,37 @@ variables:
1212
UTPLSQL_VERSION: 'v3.1.11'
1313
DOCKHER_HUB_REPO: 'utplsqlv3/oracledb'
1414

15-
extends:
16-
template: templates/t-extend-database-build.yml
17-
parameters:
18-
utplsqlVersion: ${UTPLSQL_VERSION}
19-
utplsqlDir: ${UTPLSQL_DIR}
20-
addToPaths:
21-
- path: "$(SQLCL_DIR)/bin"
22-
- path: "$(UTPLSQL_CLI_DIR)/bin"
23-
targetDatabases:
24-
- oracleVersion: "19c-se2-small"
25-
connectionString: "127.0.0.1:1521/ORCLCDB"
26-
dockerPortMap: "1521"
27-
dockerOptions: "--shm-size=1g"
28-
scripts:
29-
- displayName: "Install utPLSQL"
30-
user: "sys"
31-
password: "oracle"
32-
script: "install_headless.sql UT3 UT3 users"
33-
work_dir: "${UTPLSQL_DIR}/source"
15+
steps:
16+
- template: templates/t-extend-download-binaries.yml
17+
parameters:
18+
packages:
19+
- name: sqlcl
20+
download_location: "$(Build.BinariesDirectory)/sqlcl-latest.zip"
21+
unpack_location: "$(Build.BinariesDirectory)"
22+
url: "https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-latest.zip"
23+
archive: "zip"
24+
addtoPath: "$(SQLCL_DIR)/bin"
25+
26+
- name: utlplsqlcli
27+
download_location: "$(Build.BinariesDirectory)/utPLSQL-cli.zip"
28+
unpack_location: "$(Build.BinariesDirectory)"
29+
url: "https://github.com/utPLSQL/utPLSQL-cli/releases/download/$(UTPLSQL_CLI_VERSION)/utPLSQL-cli.zip"
30+
archive: "zip"
31+
addToPath: "$(UTPLSQL_CLI_DIR)/bin"
32+
33+
- template: templates/t-extend-database-build.yml
34+
parameters:
35+
utplsqlVersion: ${UTPLSQL_VERSION}
36+
utplsqlDir: ${UTPLSQL_DIR}
37+
targetDatabases:
38+
- oracleVersion: "19c-se2-small"
39+
connectionString: "127.0.0.1:1521/ORCLCDB"
40+
dockerPortMap: "1521"
41+
dockerOptions: "--shm-size=1g"
42+
scripts:
43+
- displayName: "Install utPLSQL"
44+
user: "sys"
45+
password: "oracle"
46+
script: "install_headless.sql UT3 UT3 users"
47+
work_dir: "${UTPLSQL_DIR}/source"
3448

0 commit comments

Comments
 (0)