gitlab & jenkins & tomcat
JDK:
- jdk下载网址:https://www.oracle.com/java/technologies/javase-jdk14-downloads.html
- JAVA_HOME ==> C:\Program Files\Java\jdk-14.0.1
- CLASSPATH ==> .,%JAVA_HOME%\lib
- PATH ==> %JAVA_HOME%\bin
- IDEA部署tomcat
https://blog.csdn.net/czc9309/article/details/80304074
Tomcat:
- CATALINA_HOME ==> C:\Program Files\apache-tomcat-9.0.36
- PATH ==> %CATALINA_HOME%\bin
- apache-tomcat-9.0.36 ==> Properties ==> security ==> Users ==> Full control 否则404
- catalina.bat start
gitlab:
- /etc/gitlab/gitlab.rb
- external_url 'http://IP:888'
- nginx['listen_port']=888
- gitlab-ctl reconfigure
- gitlab-ctl restart
- firewall-cmd --zone=public --permanent --add-port=82/tcp
- firewall-cmd reload
- root ==> password
- create group ==> notary_group
- create project ==> notary_group/web_demo(private)
- create user ==> artifact1(regular)
 add artifact1 to web_demo- Guest: create issue,leave comment,can not clone or download the project code
- Reporter: clone download the project code,can not submit
- Developer: normal developer
- Maintainer: core developer
 
- VCS ==> Enable Version Control Intergration ==> git
- project ==> git ==> add(本地缓存区)
- project ==> git ==> commit(本地仓库)
- project ==> git ==> Repository ==> Remotes ==> Add gitlab http://192.168.8.6:888/notary_group/web_demo.git
- project ==> git ==> Repository ==> Push
Jenkins:

配置文件/etc/sysconfig/jenkins
启动脚本/etc/rc.d/init.d/jenkins
JENKINS_USER="jenkins"
JENKINS_PORT="8080"
镜像加速:
sed -ri -e 's@http://updates.jenkins-ci.org/download@https://mirrors.tuna.tsinghua.edu.cn/jenkins@g' -e 's@http://www.google.com@http://www.baidu.com@g' default.json
Update Site: https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
Plugin1: Role-based Authorization Strategy
Configure Global Security ==> Authorization ==> Role-Based Strategy
Manage and Assign Roles ==> Manage Roles:

 
Global roles:  baseRole (Overall => read)
Item roles:      role1(Pattern:  project1.*)
Item roles:      role2(Pattern:  project2.*)
Manager Users ==> create user ==> user1 & user2
Manage and Assign Roles ==> Assign Roles
Plugin2: Credentials Binding
Plugin3: git
Plugin4:
- JAVA_HOME=/usr/lib/jvm/java
- MAVEN_HOME=/usr/local/maven
- PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin
- mvn -v && java -version
- Global Tool Configuration: JDK && MAVEN
- Confiugre System ==> Global properties ==> Environmen variables
JAVA_HOME ==> /usr/lib/jvm/java
M2_HOME ==> /usr/local/maven
PATH+EXTRA ==> $M2_HOME/bin
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
<localRepository>/usr/local/maven/repo</localRepository>         #注意repo目录权限
https://developer.aliyun.com/mirror/maven?spm=a2c6h.13651102.0.0.3e221b11SMxdFv
Build ==> Execute shell ==> echo 'start build';mvn clean package;echo 'build complete'
Tomcat:
conf/tomcat-users.xml
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
</tomcat-users>
webapps/manager/META-INF/context.xml
  <!--
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  -->
Plugin:5 Deploy To Container
Post-build Actions:
Deploy war/ear to a container ==> WAR/EAR ==> target/*.war ==> Containers ==> TomcatURL ==> http://IP:8080
Plugin:6 Maven intergration
build ==> Goals and options ==> clean package (无需加maven)
Plugin:7 pipeline
示例一:
pipeline {
    agent any
    stages {
        stage('pull code') {
            steps {
                echo 'pull code'
            }
        }
        stage('build project') {
            steps {
                echo 'build project'
            }
        }
        stage('publish project') {
            steps {
                echo 'publish project'
            }
        }
        
    }
}
Sample Step: pipeline syntax ==> 片段生成器
- checkout: Checkout from version control
- sh: Shell Script ==> mvn clean package
- deploy: Deploy war/ear to a container
Pipeline ==> Pipeline script from SCM ==> SCM ==> git

 
构建触发器:
1:Trigger builds remotely

2:build after other project are built

3: Poll SCM

4: Gitlab webhook plugin(Gitlab Gitlab Hook)

 
gitlab:

 
 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号