Jenkins
Continuous Integration and Delivery https://jenkins.io/doc/ https://jenkins.io/doc/book/appendix/advanced-installation/
Install version jenkins 2.9.1 LTS
Jenkins initial setup is required. An admin user has been created and a password generated. Please use the following password to proceed to installation: ************************************* This may also be found at: /home/vitor/.jenkins/secrets/initialAdminPassword http://localhost:8081/jenkins
go to http://localhost:8081/jenkins/login?from=%2Fjenkins%2F
- customize jenkins, select plugins to install svn and git plugin
- admin user
- admin
- ********
- ********
- admin
- create new jobs
- jobx, freestyle project, ok
Use git repository
1 #create project on local machine
2 cd ~/Documents
3 mkdir helloJenkins
4 cd helloJenkins
5 git init
6 touch README
7 git add .
8 git commit -m 'Initial commit'
9 git config --list #check config
10 git remote remove origin
11 git remote add origin ssh://git@example.org:1234/home/git/helloJenkins.git
12 git push origin master
13 git log
Jenkins job jobx
git repository: ssh://git@example.org:1234/home/git/helloJenkins.git credentials: none branch to build: master build: invoke top level maven targets, goals clean install build triggers: poll scm every minute */1 * * * * save
check job in http://localhost:8081/jenkins/job/jobx/
Test project to build in Jenkins
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>artifactX</artifactId>
<packaging>jar</packaging>
<version>0.0.1</version>
<name>artifactX</name>
<url>http://maven.apache.org</url>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>com.example.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
</dependencies>
<!-- archiva repositories -->
<distributionManagement>
<repository>
<id>archiva.internal</id>
<name>Internal Release Repository</name>
<url>http://localhost:8082/repository/internal/</url>
</repository>
<snapshotRepository>
<id>archiva.snapshots</id>
<name>Internal Snapshot Repository</name>
<url>http://localhost:8082/repository/snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
Archiva repository
- archiva standalone
wget http://mirrors.fe.up.pt/pub/apache/archiva/2.2.1/binaries/apache-archiva-2.2.1-bin.tar.gz
- tar xvzf apache-archiva-2.2.1-bin.tar.gz
- conf/jetty.xml change from 8080 to 8082
- cp wrapper-linux-x86-32 wrapper
- ./archiva start
- ./archiva status
- tail -f archiva.log
- username: admin
- pass: **********
- validated true
http://localhost:8082/repository/internal/com/example/artifactX/0.0.2/
~/.m2/settings.xml
<settings>
<servers>
<server>
<id>archiva.internal</id>
<username>userx</username>
<password>*********</password>
</server>
<server>
<id>archiva.snapshots</id>
<username>userx</username>
<password>*********</password>
</server>
</servers>
</settings>