Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0e4c308

Browse files
authored
Merge pull request #232 from viniciusam/docker
Travis Docker Config
2 parents bc195d9 + 8635148 commit 0e4c308

18 files changed

Lines changed: 205 additions & 289 deletions

.travis.yml

Lines changed: 25 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,8 @@ language: python
44
addons:
55
apt:
66
packages:
7-
#packages required for oracle
8-
- bc
9-
- rpm
107
- unzip
11-
#Java8 required for sonar
8+
# Java8 Required for Sonar and SQLCL
129
- oracle-java8-installer
1310
- oracle-java8-set-default
1411
sonarqube:
@@ -17,47 +14,47 @@ addons:
1714
branches:
1815
- develop
1916
- master
17+
18+
services:
19+
- docker
20+
2021
env:
2122
global:
22-
- ORACLE_COOKIE=sqldev
23-
- ORACLE_FILE=oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip
24-
- ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
25-
- NLS_LANG=AMERICAN_AMERICA.AL32UTF8
26-
- ORACLE_BASE=/u01/app/oracle
27-
- LD_LIBRARY_PATH=$ORACLE_HOME/lib
28-
- PATH=$PATH:$ORACLE_HOME/jdbc/lib:$ORACLE_HOME/bin
29-
- JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
30-
- DATABASE_VERSION=11.2.0.2
31-
- ORACLE_SID=XE
32-
- DATABASE_NAME=XE
33-
- ORA_SDTZ='Europe/London' #Needed as a client parameter
34-
- TZ='Europe/London' #Needed as a DB Server parameter
3523
- UT3_OWNER=ut3
3624
- UT3_OWNER_PASSWORD=ut3
3725
- UT3_OWNER_TABLESPACE=users
3826
- UT3_USER=ut3_user
3927
- UT3_USER_PASSWORD=ut3
4028
- UT3_USER_TABLESPACE=users
41-
# Target Branch and Directory for Deployment of Docs
29+
# Target Branch and Directory for Deployment of Docs
4230
- PAGES_TARGET_BRANCH="gh-pages"
4331
- PAGES_VERSION_BASE="version3"
32+
- CACHE_DIR=$HOME/.cache
33+
# Database Env
34+
- SQLCLI="$HOME/sqlcl/bin/sql"
35+
- ORACLE_PWD="oracle"
36+
- CONTAINER_IP=""
37+
- CONNECTION_STR=""
38+
- ORACLE_12cR1SE="12c-se-r1"
39+
- ORACLE_11gR2XE="11g-xe-r2"
40+
matrix:
41+
- ORACLE_VERSION=$ORACLE_12cR1SE
42+
- ORACLE_VERSION=$ORACLE_11gR2XE
4443

4544
cache:
4645
directories:
47-
- .cache
48-
- $HOME/.cache
49-
50-
before_install:
51-
# On trusty, download the zip file into a cachable directory
52-
- test "$DIST" = precise || export ORACLE_ZIP_DIR=$HOME/.cache
53-
# If the zip file already exists, do not download it again
54-
- test -f "$ORACLE_ZIP_DIR"/$(basename $ORACLE_FILE) || bash .travis/oracle/download.sh
46+
- $CACHE_DIR
5547

5648
install:
57-
- sudo pip install -r .travis/python_req.txt
58-
- bash .travis/oracle/install.sh
49+
- pip install -r .travis/python_req.txt
50+
- npm install -g phantomjs-prebuilt casperjs
51+
- bash .travis/install_sqlcl.sh
52+
- bash .travis/start_db.sh
5953

6054
script:
55+
- CONTAINER_IP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ORACLE_VERSION)
56+
- test $ORACLE_VERSION = $ORACLE_12cR1SE && CONNECTION_STR="$CONTAINER_IP:1521/ORCLPDB1" || true
57+
- test $ORACLE_VERSION = $ORACLE_11gR2XE && CONNECTION_STR="$CONTAINER_IP:1521/XE" || true
6158
- bash .travis/create_utplsql_owner.sh
6259
- bash .travis/create_utplsql_user.sh
6360
- bash .travis/install_libraries.sh

.travis/create_utplsql_owner.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set -ev
33

44
cd $(dirname "$(readlink -f "$0")")
55
#create user
6-
"$ORACLE_HOME/bin/sqlplus" -L -S / AS SYSDBA <<SQL
6+
"$SQLCLI" -L -S sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<SQL
77
set echo off
88
@@create_utplsql_owner.sql $UT3_OWNER $UT3_OWNER_PASSWORD $UT3_OWNER_TABLESPACE
99
SQL

.travis/create_utplsql_user.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ set -ev
33

44
cd $(dirname "$(readlink -f "$0")")
55
#create user
6-
"$ORACLE_HOME/bin/sqlplus" -L -S / AS SYSDBA <<SQL
6+
"$SQLCLI" -L -S sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<SQL
77
set echo off
88
@@create_utplsql_user.sql $UT3_USER $UT3_USER_PASSWORD $UT3_USER_TABLESPACE
99
SQL

.travis/download.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
2+
var casper = require("casper").create({
3+
// verbose: true,
4+
// logLevel: "debug",
5+
pageSettings: {
6+
loadImages: false,
7+
loadPlugins: false
8+
}
9+
});
10+
11+
if (casper.cli.args.length < 4) {
12+
casper.echo("Missing parameters: username password agreementUrl downloadUrl").exit(1);
13+
}
14+
15+
// Script parameters.
16+
var paramUsername = casper.cli.get(0);
17+
var paramPassword = casper.cli.get(1);
18+
var agreementUrl = casper.cli.get(2);
19+
var downloadUrl = casper.cli.get(3);
20+
21+
casper.start();
22+
// TODO: Error handling.
23+
24+
// Accept the license agreement.
25+
casper.thenOpen(agreementUrl, function () {
26+
// this.echo("Accepting License");
27+
this.evaluate(function () {
28+
acceptAgreement(window.self);
29+
});
30+
});
31+
32+
// Try to access the download page, wait for redirection and submit the login form.
33+
casper.thenOpen(downloadUrl).waitForUrl(/signon\.jsp$/, function (re) {
34+
// this.echo("Injecting Login Info");
35+
this.evaluate(function (username, password) {
36+
document.getElementById("sso_username").value = username;
37+
document.getElementById("ssopassword").value = password;
38+
doLogin(document.LoginForm);
39+
}, paramUsername, paramPassword);
40+
// this.capture("Screenshot.png");
41+
});
42+
43+
casper.on("resource.received", function (resource) {
44+
if (resource.url.indexOf("AuthParam") !== -1) {
45+
// this.echo("DownloadUrl:");
46+
// Print the download url.
47+
this.echo(resource.url);
48+
// TODO: Try to download file from here. this.download is not working because of cross site request.
49+
}
50+
});
51+
52+
casper.run(function () {
53+
this.exit();
54+
});

.travis/download.sh

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
#!/bin/bash
2+
set -e
3+
4+
if [ "$ORACLE_OTN_USER" == "" ] || [ "$ORACLE_OTN_PASSWORD" == "" ]; then
5+
echo "Error: Oracle OTN username/password not specified."
6+
exit 1
7+
fi
8+
9+
PRODUCT=""
10+
11+
# Call the casperjs script to return the download url.
12+
# Then download the file using curl.
13+
downloadFile() {
14+
downloadUrl=$(exec casperjs download.js $ORACLE_OTN_USER $ORACLE_OTN_PASSWORD $1 $2)
15+
echo "DownloadURL: $downloadUrl"
16+
curl $downloadUrl -o $3
17+
}
18+
19+
#############################
20+
########### START ###########
21+
#############################
22+
23+
while getopts "p:" OPTNAME; do
24+
case "${OPTNAME}" in
25+
"p") PRODUCT="${OPTARG}" ;;
26+
esac
27+
done
28+
29+
if [ "$PRODUCT" == "se12c" ]; then
30+
agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html"
31+
downloadUrl="http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_se2_1of2.zip"
32+
outputFile=linuxamd64_12102_database_se2_1of2.zip
33+
downloadFile $agreementUrl $downloadUrl $outputFile
34+
agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html"
35+
downloadUrl="http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_se2_2of2.zip"
36+
outputFile=linuxamd64_12102_database_se2_2of2.zip
37+
downloadFile $agreementUrl $downloadUrl $outputFile
38+
exit 0
39+
fi
40+
41+
if [ "$PRODUCT" == "ee12c" ]; then
42+
agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html"
43+
downloadUrl="http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_1of2.zip"
44+
outputFile=linuxamd64_12102_database_1of2.zip
45+
downloadFile $agreementUrl $downloadUrl $outputFile
46+
agreementUrl="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html"
47+
DOWNLOAD_URL="http://download.oracle.com/otn/linux/oracle12c/121020/linuxamd64_12102_database_2of2.zip"
48+
outputFile=linuxamd64_12102_database_2of2.zip
49+
downloadFile $agreementUrl $downloadUrl $outputFile
50+
exit 0
51+
fi
52+
53+
if [ "$PRODUCT" == "xe11g" ]; then
54+
agreementUrl="http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html"
55+
downloadUrl="https://edelivery.oracle.com/akam/otn/linux/oracle11g/xe/oracle-xe-11.2.0-1.0.x86_64.rpm.zip"
56+
outputFile=oracle-xe-11.2.0-1.0.x86_64.rpm.zip
57+
downloadFile $agreementUrl $downloadUrl $outputFile
58+
exit 0
59+
fi
60+
61+
if [ "$PRODUCT" == "sqlcl" ]; then
62+
agreementUrl="http://www.oracle.com/technetwork/developer-tools/sqlcl/downloads/index.html"
63+
downloadUrl="http://download.oracle.com/otn/java/sqldeveloper/sqlcl-4.2.0.17.073.1038-no-jre.zip"
64+
outputFile=sqlcl-4.2.0.17.073.1038-no-jre.zip
65+
downloadFile $agreementUrl $downloadUrl $outputFile
66+
exit 0
67+
fi
68+
69+
echo "Error: invalid product: $PRODUCT"
70+
exit 1

.travis/grant_user.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ set -ev
44

55
cd source
66
#grant framework user
7-
"$ORACLE_HOME/bin/sqlplus" -L -S / AS SYSDBA <<SQL
7+
"$SQLCLI" -L -S sys/$ORACLE_PWD@//$CONNECTION_STR AS SYSDBA <<SQL
88
@create_synonyms_and_grants_for_user.sql $UT3_OWNER $UT3_USER
99
SQL

.travis/install.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ set -ev
44

55
cd source
66
#install core of utplsql
7-
"$ORACLE_HOME/bin/sqlplus" $UT3_OWNER/$UT3_OWNER_PASSWORD @install.sql $UT3_OWNER
7+
"$SQLCLI" $UT3_OWNER/$UT3_OWNER_PASSWORD@//$CONNECTION_STR @install.sql $UT3_OWNER
88

99

1010
cd ..
1111
cd development
1212
#do style check
13-
"$ORACLE_HOME/bin/sqlplus" $UT3_OWNER/$UT3_OWNER_PASSWORD @utplsql_style_check.sql
13+
"$SQLCLI" $UT3_OWNER/$UT3_OWNER_PASSWORD@//$CONNECTION_STR @utplsql_style_check.sql
1414

1515
#enable plsql debug
16-
#"$ORACLE_HOME/bin/sqlplus" $UT3_OWNER/$UT3_OWNER_PASSWORD @ut_debug_enable.sql
16+
#"$SQLCLI" $UT3_OWNER/$UT3_OWNER_PASSWORD@//$CONNECTION_STR @ut_debug_enable.sql

.travis/install_sqlcl.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
set -e
3+
4+
SQLCL_FILE=sqlcl-4.2.0.17.073.1038-no-jre.zip
5+
cd .travis
6+
7+
# Download if not present on cache dir.
8+
if [ ! -f $CACHE_DIR/$SQLCL_FILE ]; then
9+
bash download.sh -p sqlcl
10+
mv $SQLCL_FILE $CACHE_DIR
11+
else
12+
echo "Installing sqlcl from cache..."
13+
fi;
14+
15+
# Install sqlcl.
16+
unzip -q $CACHE_DIR/$SQLCL_FILE -d $HOME
17+
18+
# Check if it is installed correctly.
19+
$SQLCLI -v

.travis/oracle/LICENSE

Lines changed: 0 additions & 5 deletions
This file was deleted.

.travis/oracle/README.md

Lines changed: 0 additions & 64 deletions
This file was deleted.

0 commit comments

Comments
 (0)