Jenkins+maven+git的可持续集成实践
概述相关资料Jenkins+maven+git的可持续集成实践Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记实践操作说明:JDK、SSHD已经默认安装了,这里就不复述了。安装Tomcattomcat的安装很简单。不多讲。这里用的是[tomcat8]( “http://tomcat.apache.org/download-80.cgi“)。安装maven到maven
概述
相关资料
Jenkins+maven+git的可持续集成实践
Jenkins+Maven+Git搭建持续集成和自动化部署的配置手记
实践操作
说明:JDK、SSHD已经默认安装了,这里就不复述了。
安装Tomcat
tomcat的安装很简单。不多讲。这里用的是[tomcat8]( “http://tomcat.apache.org/download-80.cgi“)。
安装maven
- 到maven官网下载maven最新的安装包apache-maven-3.0.4-bin.tar.gz,并解压至/usr/local/目录,或可选地修改maven的使用用户:sudo chown -R user:group apache-maven-3.0.4 或者 chmod 777 apache-maven-4.0.4 -R
- 添加M2_HOME环境变量:在/etc/environment或~/.bashrc文件中添加
export M2_HOME=/usr/local/apache-maven-3.0.4
export PATH=$PATH:$M2_HOME/bin
#optional
export MAVEN_OPTS="-Xms256m -Xmx512m"
安装git
ubuntu下直接apt-get install git -y
即可安装。
安装完后,执行git --version
看看版本信息:
root@36ab2c1af70e:~# git --version
git version 1.9.1
安装Jenkins
在Jenkins官网下载最新版本的war包。然后放入到tomcat的webapps目录下:
这里使用Jenkins默认的工作空间。
启动tomcat,然后访问:http://localhost:8080/jenkins 即可看到页面。
但是却看到如下的错误信息:
AWT is not properly configured on this server. Perhaps you need to run your container with "-Djava.awt.headless=true"? See also: https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+got+java.awt.headless+problem
java.lang.UnsatisfiedLinkError: /mnt/jdk1.8/jre/lib/amd64/libawt_xawt.so: libXrender.so.1: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824)
at java.lang.Runtime.load0(Runtime.java:809)
at java.lang.System.load(System.java:1086)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at java.awt.Toolkit$3.run(Toolkit.java:1636)
at java.awt.Toolkit$3.run(Toolkit.java:1634)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.loadLibraries(Toolkit.java:1633)
at java.awt.Toolkit.<clinit>(Toolkit.java:1668)
at java.awt.Font.<clinit>(Font.java:246)
at hudson.util.ChartUtil.<clinit>(ChartUtil.java:255)
at hudson.WebAppMain.contextInitialized(WebAppMain.java:186)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4842)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5303)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
根据上面的提示,发现是少了libxrender
,于是执行命令
sudo apt-get install libxrender-dev
完成后重启tomcat,发现又有新的错误:
java.lang.UnsatisfiedLinkError: /mnt/jdk1.8/jre/lib/amd64/libawt_xawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
于是执行命令:
apt-get install libxtst-dev
继续重启tomcat。
刷新页面,可以看到正常启动了
启动完后,需要输入管理员密码:
去服务器的/root/.jenkins/secrets/initialAdminPassword
查看密码,输入密码然后继续。
然后选择需要安装的plugin,接着等待插件安装完成
这个过程很慢(看个人网络),可能有些插件安装不了(应该是被墙了),但是只要git安装也就行。安装完后,设置管理员账号跟密码,就能开始使用Jenkins了,如图
后来发现Git plugin 并没有安装成功。因为Git plugin 依赖于其他的插件(Credentials Plugin、SSH Credentials Plugin、Git Client Plugin),然后人工去下载了最新版本的依赖插件,最后才把git plugin安装上去。
使用Jenkins
新建任务
点击主界面左上角的“新建”按钮,弹出如下界面
配置Git仓库
如图所示
输入git地址,如果需要授权登录的话,就添加相应的授权。
配置maven命令
我们希望在git pull完成后,编译代码成jar,然后运行。
如图所示
- Maven Vesion 要选择正确(可以在配置中修改),不然找不到mvn命令
- 先执行mvn clean package -Dmaven.skip.test=true命令,进行编译,这个根据实际情况来修改
- 编译完后,就要执行jar文件。此时我们要判断一下这个jar是否已经执行过了,如果执行中就先kill掉
- 最后用nohup后台运行我们的jar,同时保存pid到jenkins.pid,方便下次kill掉进程。
这样的话就能构建项目了。
同时可以配置一个定时器去判断git上面的代码有没有更新,如果更新了,就自动构建,真是太方便了。
更多推荐
所有评论(0)