forked from jython/frozen-mirror
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build and publish to artifactory through Jenkins
The commit includes changes to Build.xml to use ivy to publish the artifacts to artifactory. ivy uses ivy.xml and ivysettings.xml to publish the artifacts. The commit also includes Jenkinsfile which will build the project with ant and publish the artifacts to artifactory.
- Loading branch information
1 parent
2821faa
commit d2f4171
Showing
4 changed files
with
150 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
#!/usr/bin/env groovy | ||
|
||
@Library('ds-pipeline-lib') | ||
|
||
import java.security.MessageDigest | ||
def id = MessageDigest.getInstance("MD5").digest(System.currentTimeMillis().toString().bytes).encodeHex().toString().substring(0,8) | ||
|
||
// Build Jython forked repository and push artifacts to artifactory | ||
|
||
pipeline { | ||
agent { | ||
node { | ||
label 'default-runner' | ||
customWorkspace "workspace/${BUILD_NUMBER}-package-build-${id}" | ||
} | ||
} | ||
|
||
tools { | ||
jdk('jdk-8') | ||
} | ||
|
||
parameters { | ||
string(name: 'buildbranch', defaultValue: 'OPSC-16690', description: 'The branch to build. Only valid for the branch build job.') | ||
} | ||
|
||
options { | ||
disableConcurrentBuilds() | ||
buildDiscarder(logRotator(numToKeepStr: '30')) | ||
timeout(time: 120, unit: 'MINUTES') | ||
timestamps() | ||
} | ||
|
||
stages { | ||
stage('Build') { | ||
steps { | ||
configFileProvider([configFile(fileId: 'gradle.properties', | ||
replaceTokens: true, | ||
targetLocation: 'gradle.properties')]) { | ||
withCredentials([usernamePassword(credentialsId: 'dse-artifactory', | ||
usernameVariable: 'ARTIFACTORY_USER', | ||
passwordVariable: 'ARTIFACTORY_PASSWORD')]) { | ||
withAnt(installation: 'ant-1.10.7') { | ||
sh "curl -O https://repo1.maven.org/maven2/org/apache/ivy/ivy/2.5.2/ivy-2.5.2.jar" | ||
script { | ||
if (!fileExists('/home/ubuntu/.ant/')) { | ||
sh "mkdir /home/ubuntu/.ant/" | ||
} | ||
if (!fileExists('/home/ubuntu/.ant/lib')) { | ||
sh "mkdir /home/ubuntu/.ant/lib" | ||
} | ||
} | ||
sh "cp ivy-2.5.2.jar /home/ubuntu/.ant/lib/" | ||
sh "export ARTIFACTORY_USER=$ARTIFACTORY_USER" | ||
sh "export ARTIFACTORY_PASSWORD=$ARTIFACTORY_PASSWORD" | ||
sh "ant publish" | ||
// sh "ant installer" | ||
sh "mkdir artifacts" | ||
sh "cp dist/jython-standalone* artifacts/" | ||
} | ||
} | ||
} | ||
archiveArtifacts artifacts: 'dist/jython-standalone-*.jar', onlyIfSuccessful: true, defaultExcludes: false, caseSensitive: false | ||
archiveArtifacts artifacts: 'dist/jython-installer.jar', onlyIfSuccessful: true, defaultExcludes: false, caseSensitive: false | ||
} | ||
} | ||
stage ('Upload to artifactory') { | ||
steps { | ||
sh "ls artifacts/ > commandResult" | ||
|
||
script { | ||
env.jarfilename = readFile('commandResult').trim() | ||
} | ||
sh "echo $jarfilename" | ||
|
||
withCredentials([usernamePassword(credentialsId: 'dse-artifactory', | ||
usernameVariable: 'ARTIFACTORY_USER', | ||
passwordVariable: 'ARTIFACTORY_PASSWORD')]) { | ||
// sh "curl -sSf -u '$ARTIFACTORY_USER:$ARTIFACTORY_PASSWORD' -X PUT -T artifacts/$jarfilename 'https://repo.aws.dsinternal.org/ui/native/dse/com/datastax/opscenter/jython-standalone/2.7.3a1/$jarfilename'" | ||
sh "curl -v --user $ARTIFACTORY_USER:$ARTIFACTORY_PASSWORD --data-binary artifacts/$jarfilename -X PUT 'https://repo.aws.dsinternal.org/ui/native/dse/com/datastax/opscenter/jython-standalone/2.7.3a1/$jarfilename'" | ||
// sh "curl -v --user $ARTIFACTORY_USER:$ARTIFACTORY_PASSWORD --data-binary artifacts/$jarfilename -d 99999999 -X PUT 'https://repo.aws.dsinternal.org/artifactory/datastax-releases-local/com/datastax/opscenter/jython-standalone/2.7.3a1/$jarfilename'" | ||
// maven(installation: 'maven_3_3_3') { | ||
// sh "maven-publish --help" | ||
// } | ||
} | ||
cleanWs notFailBuild: true | ||
} | ||
} | ||
stage('wrapup') { | ||
steps { | ||
cleanWs notFailBuild: true | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<ivy-module version="2.0"> | ||
<info organisation="com/datastax/opscenter" module="jython-standalone" /> | ||
<publications> | ||
<artifact name="jython-standalone" type="jar" ext="jar" /> | ||
</publications> | ||
<dependencies> | ||
<dependency org="commons-lang" name="commons-lang" rev="2.6" /> | ||
</dependencies> | ||
</ivy-module> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
<ivysettings> | ||
<property name="jfrog-artifactory" value="SNAPSHOT" override="false"/> | ||
<properties environment="env"/> | ||
<property name="artifactory-user" value="${env.ARTIFACTORY_USER}"/> | ||
<property name="artifactory-password" value="${env.ARTIFACTORY_PASSWORD}"/> | ||
|
||
<settings defaultResolver="default"/> | ||
<include url="${ivy.default.settings.dir}/ivysettings-public.xml"/> | ||
|
||
<resolvers> | ||
<ibiblio | ||
name="local-m2" | ||
m2compatible="true" | ||
root="file://${user.home}/.m2/repository" | ||
changingPattern=".*SNAPSHOT" /> | ||
|
||
<filesystem name="local" m2compatible="true"> | ||
<artifact pattern="${user.home}/.ivy2/local/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/> | ||
</filesystem> | ||
<url name="jfrog-artifactory-url"> | ||
<ivy pattern="https://${artifactory-user}:${artifactory-password}@repo.aws.dsinternal.org/artifactory/datastax-releases-local/[organisation]/[module]/[revision]/ivy-[revision](-[classifier]).xml"/> | ||
<artifact pattern="https://${artifactory-user}:${artifactory-password}@repo.aws.dsinternal.org/artifactory/datastax-releases-local/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/> | ||
</url> | ||
|
||
<!-- <sftp name="jfrog-artifactory-url" user="${myuser}" userPassword="${my.password}" host="https://repo.aws.dsinternal.org/artifactory/datastax-releases-local/"> | ||
<ivy pattern="[organisation]/[module]/[revision]/ivy-[revision](-[classifier]).xml"/> | ||
<artifact pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/> | ||
</sftp> --> | ||
|
||
<chain name="default" changingPattern=".*SNAPSHOT"> | ||
<resolver ref="public"/> | ||
<resolver ref="local-m2"/> | ||
</chain> | ||
</resolvers> | ||
</ivysettings> |