DEVOPS技术实践_02:jenkins自动构建项目

时间:2023-03-09 16:58:50
DEVOPS技术实践_02:jenkins自动构建项目

一、用户名密码错误

打开jenkins发现用户名密码错误,解决

1.1 找到config.xml文件

[root@jenkins-master ~]# ll -a

drwxr-xr-x.  root root   Apr  : .jenkins

[root@jenkins-master ~]# cd .jenkins/

[root@jenkins-master .jenkins]# ll

-rw-r--r--.   root root  Apr  : config.xml    #找到这个文件
-rw-r--r--. root root Apr : hudson.model.UpdateCenter.xml
-rw-r--r--. root root Apr : hudson.plugins.emailext.ExtendedEmailPublisher.xml
-rw-r--r--. root root Apr : hudson.plugins.git.GitTool.xml
-rw-------. root root Apr : identity.key.enc
-rw-r--r--. root root Apr : jenkins.CLI.xml
-rw-r--r--. root root Apr : jenkins.install.InstallUtil.lastExecVersion
-rw-r--r--. root root Apr : jenkins.install.UpgradeWizard.state
-rw-r--r--. root root Apr : jenkins.model.DownloadSettings.xml
-rw-r--r--. root root Apr : jenkins.model.JenkinsLocationConfiguration.xml
-rw-r--r--. root root Apr : jenkins.security.apitoken.ApiTokenPropertyConfiguration.xml
-rw-r--r--. root root Apr : jenkins.security.QueueItemAuthenticatorConfiguration.xml
-rw-r--r--. root root Apr : jenkins.security.UpdateSiteWarningsConfiguration.xml
-rw-r--r--. root root Apr : jenkins.telemetry.Correlator.xml
drwxr-xr-x. root root Apr : jobs
drwxr-xr-x. root root Apr : logs
-rw-r--r--. root root Apr : nodeMonitors.xml
drwxr-xr-x. root root Apr : nodes
drwxr-xr-x. root root Apr : plugins
-rw-r--r--. root root Apr : secret.key
-rw-r--r--. root root Apr : secret.key.not-so-secret
drwx------. root root Apr : secrets
drwxr-xr-x. root root Apr : updates
drwxr-xr-x. root root Apr : userContent
drwxr-xr-x. root root Apr : users
drwxr-xr-x. root root Apr : war
drwxr-xr-x. root root Apr : workflow-libs

1.2 备份修改文件

[root@jenkins-master .jenkins]# cp config.xml config.xml.bak

[root@jenkins-master .jenkins]# vim config.xml

<?xml version='1.1' encoding='UTF-8'?>
<hudson>
<disabledAdministrativeMonitors/>
<version>2.164.</version>
<installStateName>RUNNING</installStateName>
<numExecutors></numExecutors>
<mode>NORMAL</mode>
<useSecurity>true</useSecurity> #删除
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>true</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>true</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>
<disableRememberMe>false</disableRememberMe>
<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
<workspaceDir>${JENKINS_HOME}/workspace/${ITEM_FULL_NAME}</workspaceDir>
<buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
<markupFormatter class="hudson.markup.EscapedMarkupFormatter"/>
<jdks/>
<viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
<myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
<clouds/>
<scmCheckoutRetryCount></scmCheckoutRetryCount>
<views>
<hudson.model.AllView>
<owner class="hudson" reference="../../.."/>
<name>all</name>
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
</hudson.model.AllView>
</views>
<primaryView>all</primaryView>
<slaveAgentPort></slaveAgentPort>
<enabledAgentProtocols>
<string>JNLP-connect</string>
<string>JNLP2-connect</string>
<string>JNLP3-connect</string>
</enabledAgentProtocols>
<label></label>
<crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
<excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
</crumbIssuer>
<nodeProperties/>
<globalNodeProperties/>
</hudson>

1.3 重启jenkins

[root@jenkins-master .jenkins]# ps -ef |grep  jenkins

DEVOPS技术实践_02:jenkins自动构建项目

[root@jenkins-master .jenkins]# kill -9 105823

[root@jenkins-master ~]# cd /usr/local/src/

[root@jenkins-master src]# nohup java -jar /usr/local/src/jenkins.war --httpPort=9000 &

DEVOPS技术实践_02:jenkins自动构建项目

1.4 修改安全配置

进入首页>“系统管理”>全局安全配置>启用安全>Jenkins专有用户数据库>保存,如下图:

DEVOPS技术实践_02:jenkins自动构建项目

重新点击首页-系统管理-管理用户

1.5 重新设置密码

DEVOPS技术实践_02:jenkins自动构建项目

DEVOPS技术实践_02:jenkins自动构建项目

登陆成功

DEVOPS技术实践_02:jenkins自动构建项目

二、jenkins自动构建

2.1 创建一个任务

DEVOPS技术实践_02:jenkins自动构建项目

选择保存后填下面信息

DEVOPS技术实践_02:jenkins自动构建项目

使用git,地址要填准确,同时在jenkins的服务器上要安装git,否则会报错

DEVOPS技术实践_02:jenkins自动构建项目

DEVOPS技术实践_02:jenkins自动构建项目

2.2 构建项目

构建完成,点击立即构建

DEVOPS技术实践_02:jenkins自动构建项目

点击#1,打开控制台,看输出消息

DEVOPS技术实践_02:jenkins自动构建项目

DEVOPS技术实践_02:jenkins自动构建项目

2.3 配置Mzven

选择系统管理>全局工具配置>新增Maven

[root@node5 ~]# echo $M2_HOME

/usr/local/maven/apache-maven-3.6.

DEVOPS技术实践_02:jenkins自动构建项目

2.4 在重新构建测试

DEVOPS技术实践_02:jenkins自动构建项目

Started by user unknown or anonymous
Building remotely on slave1 in workspace /var/jenkins/workspace/diy-maven_TEST #构建的机器和构建的位置
No credentials specified
Cloning the remote Git repository
Cloning repository http://172.25.254.131/tester/mvn-test01.git
> git init /var/jenkins/workspace/diy-maven_TEST # timeout=
Fetching upstream changes from http://172.25.254.131/tester/mvn-test01.git
> git --version # timeout=
> git fetch --tags --progress http://172.25.254.131/tester/mvn-test01.git +refs/heads/*:refs/remotes/origin/*
> git config remote.origin.url http://172.25.254.131/tester/mvn-test01.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url http://172.25.254.131/tester/mvn-test01.git # timeout=10
Fetching upstream changes from http://172.25.254.131/tester/mvn-test01.git
> git fetch --tags --progress http://172.25.254.131/tester/mvn-test01.git +refs/heads/*:refs/remotes/origin/*
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
> git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision 026cbb9df8efcfc15ff98a27f0fa0c255716bc6a (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 026cbb9df8efcfc15ff98a27f0fa0c255716bc6a
Commit message: "test"
First time build. Skipping changelog.
Parsing POMs
Discovered a new module com.example.app:maven-app maven-app
Modules changed, recalculating dependency graph
Established TCP socket on 42398
Copied maven35-agent.jar
Copied maven35-interceptor.jar
Copied maven3-interceptor-commons.jar
[diy-maven_TEST] $ java -cp /var/jenkins/maven35-agent.jar:/usr/local/maven/apache-maven-3.6.1/boot/plexus-classworlds-2.6.0.jar:/usr/local/maven/apache-maven-3.6.1/conf/logging jenkins.maven3.agent.Maven35Main /usr/local/maven/apache-maven-3.6.1 /usr/local/jenkins-slave/agent.jar /var/jenkins/maven35-interceptor.jar /var/jenkins/maven3-interceptor-commons.jar 42398
<===[JENKINS REMOTING CAPACITY]===>channel started
Executing Maven: -B -f /var/jenkins/workspace/diy-maven_TEST/pom.xml clean install
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------------< com.example.app:maven-app >----------------------
[INFO] Building maven-app 1.3-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ maven-app ---
[INFO] Deleting /var/jenkins/workspace/diy-maven_TEST/target
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ maven-app ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /var/jenkins/workspace/diy-maven_TEST/src/main/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ maven-app ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /var/jenkins/workspace/diy-maven_TEST/target/classes
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ maven-app ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /var/jenkins/workspace/diy-maven_TEST/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ maven-app ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 1 source file to /var/jenkins/workspace/diy-maven_TEST/target/test-classes
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ maven-app ---
[INFO] Surefire report directory: /var/jenkins/workspace/diy-maven_TEST/target/surefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.example.app.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec Results : Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [JENKINS] Recording test results
[WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.SurefireArchiver$2; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
[WARNING] Attempt to (de-)serialize anonymous class hudson.maven.reporters.BuildInfoRecorder$1; see: https://jenkins.io/redirect/serialization-of-anonymous-classes/
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ maven-app ---
[INFO] Building jar: /var/jenkins/workspace/diy-maven_TEST/target/maven-app-1.3-SNAPSHOT.jar
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ maven-app ---
[INFO] Installing /var/jenkins/workspace/diy-maven_TEST/target/maven-app-1.3-SNAPSHOT.jar to /root/.m2/repository/com/example/app/maven-app/1.3-SNAPSHOT/maven-app-1.3-SNAPSHOT.jar
[INFO] Installing /var/jenkins/workspace/diy-maven_TEST/pom.xml to /root/.m2/repository/com/example/app/maven-app/1.3-SNAPSHOT/maven-app-1.3-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 14.790 s
[INFO] Finished at: 2019-04-11T03:56:43+08:00
[INFO] ------------------------------------------------------------------------
Waiting for Jenkins to finish collecting data
[JENKINS] Archiving /var/jenkins/workspace/diy-maven_TEST/pom.xml to com.example.app/maven-app/1.3-SNAPSHOT/maven-app-1.3-SNAPSHOT.pom
[JENKINS] Archiving /var/jenkins/workspace/diy-maven_TEST/target/maven-app-1.3-SNAPSHOT.jar to com.example.app/maven-app/1.3-SNAPSHOT/maven-app-1.3-SNAPSHOT.jar
channel stopped
Finished: SUCCESS

2.5 去构建机器验证

[root@node5 ~]# cd /var/jenkins/workspace/diy-maven_TEST

[root@node5 diy-maven_TEST]# ls

-rw-r--r--.  root root  Apr  : pom.xml
drwxr-xr-x. root root Apr : src
drwxr-xr-x. root root Apr : target

[root@node5 diy-maven_TEST]# cd target/

[root@node5 target]# ll

drwxr-xr-x.  root root    Apr  : classes
-rw-r--r--. root root Apr : maven-app-1.3-SNAPSHOT.jar
drwxr-xr-x. root root Apr : maven-archiver
drwxr-xr-x. root root Apr : maven-status
drwxr-xr-x. root root Apr : surefire-reports
drwxr-xr-x. root root Apr : test-classes 

基本构建完成