第一部分 安装部署
1.1 gitlab安装部署
最小配置
- 内存至少4g,系统内核至少在3.10以上 uname -r 可查看系统内核版本
默认docker已经安装
1、安装gitlab 127机器
(1)添加容器
docker run -d --name gitlab --hostname 192.168.2.7 --restart always -p 443:443 -p 80:80 -v /data/docker/gitlab/config:/etc/gitlab -v /data/docker/gitlab/data:/var/opt/gitlab -v /data/docker/gitlab/logs:/var/log/gitlab --shm-size 256m registry.gitlab.cn/omnibus/gitlab-jh:latest
(2)启动容器
docker start gitlab
(3)查看已存在的容器
docker ps -a
(4)进入容器
docker exec -it gitlab /bin/bash
访问 http://192.168.2.7
管理员账号登录
用户名:root
密码存在下面文件中,
cat /etc/gitlab/initial_root_password
登录进入之后修改密码
1.2 gitlab上传代码
(1)创建一个空白项目
(2)在idea中创建springboot项目,在pom.xml同等级创建idea创建一个.gitignore文件来防止一些IDEA自动生成的代码被提交到Git仓库去
/target/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
(3)将本地和远程仓库关联并push本地项目
选择项目路径
创建了git仓库之后,项目里所有文件都会变红(红色表示没有add到git的文件)
需要把项目add到git上,在idea打开项目后,右击项目,选择Git,选择Add即可。add之后,项目的文件会变成绿色
add之后,我们就可以commit 提交到本地仓库,右击项目,选择Git,选择Commit Directory即可,Commit之后文件就会变回正常的颜色了
commit项目之后,我们就可以将项目Push到gitlab远程仓库上了,选择VCS的Git,点击Push
第一次push,idea会让我们关联远程仓库,点击Define remote,在url填入我们gitlab仓库的url地址即可
这时候,不要马上push我们的项目,而是要先pull拉取远程分支到本地
如果我们pull项目时出现refusing to merge unrelated histories
思是拒绝合并不相关的历史,出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。
我们可以在pull命令后紧接着使用–allow-unrelated-history选项来解决问题(该选项可以合并两个独立启动仓库的历史)。
1、进入项目根目录,进入git命令窗口
2、输入:git pull origin master --allow-unrelated-histories
1.3 jenkins及依赖 安装部署 126机器
需要jdk、maven
参考:https://blog.csdn.net/ZHANGLIZENG/article/details/123653860
1.3.1 安装jdk
(1)以1.8为例
检索可用的包
yum search java |grep jdk
安装
yum install java-1.8.0-openjdk
查看jdk版本
java version
(2)以上的openjdk实际只是安装了jre用来jenkins安装用,还需要上传jdk
上传。上传1.8linux版本到服务器
解压
tar -zxvf jdk-8u221-linux-x64.tar.gz
在环境变量中配置jdk
vi /etc/profile
向配置文件中添加jdk的安装目录
按esc退出编辑
让配置生效
source /etc/profile
查看版本java version
1.3.2 maven安装
https://maven.apache.org/download.cgi 下载最新版maven
(1)上传maven安装包到linux服务器
解压文件,创建目录maven
tar -zxvf apache-maven-3.6.3-bin.tar.gz
创建文件夹
cd /usr/local
mkdir maven
cd maven
mv /home/soft/apache-maven-3.6.3/ .
(2)创建存放jar包的目录repo,需要与下面setting.xml中配置的一致
cd /usr/local/maven
mkdir repo
chmod 777 repo
(3)修改maven的setting.xml配置信息
cd /usr/local/maven/apache-maven-3.6.3/conf
vi settings.xml
修改为阿里镜像
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
如果有私服
配置私服的serviers
<servers>
<server>
<id>umapp-rs</id>
<username>Nexus umapp</username>
<password>`Qihoo360!</password>
</server>
</servers>
配置maven私服nexus及激活的配置
<profiles>
<profile>
<id>umapp</id>
<repositories>
<repository>
<id>umapp-rs</id>
<name>Nexus umapp</name>
<url>http://xxx:port/nexus/content/repositories/umapp/</url>
</repository>
</repositories>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>umapp</activeProfile>
</activeProfiles>
(4)把maven安装信息配置进环境变量中
vi /etc/profile
把maven信息加进去保存并退出(wq):
export M2_HOME=/usr/local/maven/apache-maven-3.6.3
export PATH=$M2_HOME/bin:$PATH
(4)重新加载环境变量
source /etc/profile
查看maven是否加载
mvn -v
1.3.3 git安装
执行安装命令
yum install git
查看安装git是否成功
git --version
1.3.4 jenkins安装 war形式
选择合适版本的war包https://mirrors.jenkins.io/war-stable/
将war上传到服务器,切换到目录下,使用运行
java -jar jenkins.war
或者脚本启动
vim startjk.sh
#!/bin/bash
java -jar /usr/local/jenkins/jenkins.war --httpPort=8080 --enable-future-java &2> jenkins.log
脚本关闭
vim stopjk.sh
#!/bin/bash
ps -ef |grep -v grep | grep jenkins | awk '{print $2}' | xargs kill -s 9 >/dev/null 2>&1
开启防火墙
firewall-cmd --permanent --zone=public --add-port=8080/tcp
重启防火墙
systemctl reload firewalld
访问 http:192.168.2.6:8080
账号:root执行命令查看密码
cat /var/lib/jenkins/secrets/initialAdminPassword
登录系统,插件安装选择推荐插件
(1)进入之后,全局工具配置,添加如下配置
(2)安装maven构建项目插件
(3)构建一个简单的maven项目
然后保存构建
去jenkins机器上查看打包情况
然后执行
java -jar xxxx.jar
访问对应的地址:http:192.168.2.6:9889 得到页面
1.4 自动化发布到测试服务器并运行
服务器有限,先用126服务器
(1)安装插件 publish over ssh
(2)配置远程服务器,也就是部署的服务器,dashboard ->manage jenkins -> configreSystem 找到Publish over SSH 点击新增
点击高级,勾选
其他默认,点击test configuration测试,成功后保存
(3)修改项目中的post steps
进入后点击左侧配置-->post steps,选择刚刚配置的服务器host1
设置Transfers里面的选项
- 设置Source files 对应的是部署jenkins服务器的/root/.jenkins/workspace/
因此设置source file路径为
如下设置