实际单个模块的开发往往不是单独一个人来进行操作,当多个人协同开发相同的一个项目时,就会涉及到提交冲突的问题。
1. 不同人修改不同文件(1)在远程仓库添加gitLab.txt
(2)在本地IDEA中添加代码,继续进行第二个模块的开发
12345public class Module2 { public static void main(String[] args) { System.out.println("开始进行模块2的开发"); }}
(3)提交代码到远程仓库,此时会有报错信息
Git会智能识别,采用merge合并命令,拉取远端文件到本地进行合并。
(4)查看Git提交的全部历史记录,可以看到中间有拉取Gitee日志的部分
2. 不同人修改同文件的不同区域(1)远程仓库修改module1代码
12345public class Module1 { public static void main(String[] args) { System.o ...
1. GitFlow工作流介绍在项目开发过程中使用 Git 的方式常见的有:
1.1 集中式工作流所有修改都提交到 Master 这个分支。比较适合极小团队或单人维护的项目,不建议使用这种方式。
1.2 功能开发工作流功能开发应该在一个专门的分支,而不是在 master 分支上。适用于小团队开发。
1.3 GitFlow工作流公司中最常用于管理大型项目。为功能开发、发布准备和维护设立了独立的分支,让发布迭代过程更流畅。
1.4 Forking工作流在 GitFlow 基础上,充分利用了 Git 的 Fork 和 pull request 的功能以达到代码审核的目的。一般用于跨团队协作、网上开源项目。
2. 各分支功能介绍
2.1 主干分支 master主要负责管理正在运行的生产环境代码,永远保持与正在运行的生产环境完全一致。为了保持稳定性一般不会直接在这个分支上修改代码,都是通过其他分支合并过来的。
2.2 开发分支 develop主要负责管理正在开发过程中的代码。一般情况下应该是最新的代码。
2.3 功能分支 feature为了不影响较短周期的开发工作,一般把中长期开 ...
关联文章:GitLab部署
1.为什么使用GitLab-开发运维一体化
2. 部署安装GitLab使用git,还需要一个远程代码仓库。常见的github、gitee这种远程代码仓库,公司中一般不会使用,因为他们是使用外网的,不够安全。一般企业都会搭建一个仅内网使用的远程代码仓库,最常见就是 GitLab。
2.1 安装部署GitLab一般由公司的运维人员安装部署,开发人员只需要申请账号和相应权限即可,在这里我们在hadoop104上自己安装GitLab社区版体验一下。
2.1.1 安装准备1)需要开启ssh:(已开启可跳过)
123sudo systemctl status sshdsudo systemctl enable sshdsudo systemctl start sshd
2)防火墙开放http、https服务:(已关闭防火墙可跳过)
1234sudo systemctl status firewalldsudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add ...
0.资源下载
JDK和脚本下载地址:https://www.123pan.com/s/eeJbVv-fo7UA.html
1.安装jdk1.81.上传jdk安装包:上传到某个目录,例如:/usr/local/
2.然后解压缩:
1tar -xvf jdk-8u144-linux-x64.tar.gz
然后重命名为java
1mv jdk1.8.0_144 java
3.配置环境变量:
12export JAVA_HOME=/usr/local/javaexport PATH=$PATH:$JAVA_HOME/bin
4.设置环境变量:
1source /etc/profile
2.运行jar脚本1.上传到某个目录,例如:/opt
2.然后运行脚本
1java -jar ceshi.jar
3.访问接口触发脚本【本机ip:8080/loadMemory】
1curl 127.0.0.1:8080/loadMemory
4.脚本正常运行
3.脚本源码1234567891011121314151617181920212223242526272829303132333435 ...
一、部署Seata的tc-server1.下载首先我们要下载seata-server包,地址在http://seata.io/zh-cn/blog/download.html
在线下载:http://8.130.91.207:5244/d/airpan/seata-server-1.5.1.zip?sign=EGEAgrzb7o_PXRG9DHVmI4Dt2Q0GypnZD_uo4N3K0mg=:0
2.解压在非中文目录解压缩这个zip包,其目录结构如下:
3.修改配置修改conf目录下的application.yml文件:
内容如下:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950server: port: 7091spring: application: name: seata-serverlogging: config: classpath:logback-spring.xm ...
Windows本地Sonarqube扫描1. sonar扫描代码的三种途径
2.下载sonar-scanner
下载地址:http://8.130.91.207:5244/d/airpan/sonar-scanner-cli-6.1.0.4477-windows-x64.zip?sign=-HtbDiQOWl7Cqs0k8N2J8aER7nB_NJCGrRsDqB4Ao90=:0
3.配置sonar-scanner环境变量的配置:
验证配置成功
命令行输入sonar-scanner -version,出现下面界面表示sonar-scanner安装配置成功。
4.使用sonar-scanner
1.到要检查的代码根目录下创建文件sonar-project.properties
配置详情:1234567891011121314151617181920# 改成自己的标识,随便写一个sonar.projectKey=xxxxx# 名称改成:项目名称【英文】-姓名【英文】sonar.projectName=YypWeixinBack-sunhaosonar.projectVersion= ...
7.1 Sonar Qube介绍Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。
Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来
Sonar Qube的UI界面
7.2 Sonar Qube环境搭建7.2.1 Sonar Qube安装Sonar Qube在7.9版本中已经放弃了对MySQL的支持,并且建议在商业环境中采用PostgreSQL,那么安装Sonar Qube时需要依赖PostgreSQL。
并且这里会安装Sonar Qube的长期支持版本8.9
拉取镜像
12docker pull postgresdocker pull sonarqube:8.9.3-community
编写docker-compoe.yml
12345678910111213141516171819202 ...
CI、CD入门操作基于Jenkins拉取GitLab的SpringBoot代码进行构建发布到测试环境实现持续集成
基于Jenkins拉取GitLab指定发行版本的SpringBoot代码进行构建发布到生产环境实现CD实现持续部署
6.1 持续集成为了让程序代码可以自动推送到测试环境基于Docker服务运行,需要添加Docker配置和脚本文件让程序可以在集成到主干的同时运行起来。
添加Dockerfile文件
构建自定义镜像
添加docker-compose.yml文件
加载自定义镜像启动容器
追加Jenkins构建后操作脚本命令
构建后发布并执行脚本命令
发布到GitLab后由Jenkins立即构建并托送到目标服务器
构建日志
测试部署到目标服务器程序
查看目标服务器并测试接口
6.2 持续交付、部署程序代码在经过多次集成操作到达最终可以交付,持续交付整体流程和持续集成类似,不过需要选取指定的发行版本
下载Git Parameter插件
下载Git Parameter
...
持续集成、持续部署的工具很多,其中Jenkins是一个开源的持续集成平台。
Jenkins涉及到将编写完毕的代码发布到测试环境和生产环境的任务,并且还涉及到了构建项目等任务。
Jenkins需要大量的插件保证工作,安装成本较高,下面会基于Docker搭建Jenkins。
5.1 Jenkins介绍Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具
Jenkins应用广泛,大多数互联网公司都采用Jenkins配合GitLab、Docker、K8s作为实现DevOps的核心工具。
Jenkins最强大的就在于插件,Jenkins官方提供了大量的插件库,来自动化CI/CD过程中的各种琐碎功能。
Jenkins最主要的工作就是将GitLab上可以构建的工程代码拉取并且进行构建,再根据流程可以选择发布到测试环境或是生产环境。
一般是GitLab上的代码经过大量的测试后,确定发行版本,再发布到生产环境。
CI/CD可以理解为:
CI过程即是通过Jenkins将代码拉取、构建、制作镜像交给测试人员测试。
持续集成:让软件代码可以持续的 ...
Operate阶段工具部署过程,会采用Docker进行部署,暂时只安装Docker即可,后续还需安装Kubenetes
4.1 Docker安装
准备测试环境&生产环境hexo
下载Docker依赖组件
1yum -y install yum-utils device-mapper-persistent-data lvm2
设置下载Docker的镜像源为阿里云
1yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker服务
1yum -y install docker-ce
安装成功后,启动Docker并设置开机自启
1234# 启动Docker服务systemctl start docker# 设置开机自动启动systemctl enable docker
测试安装成功
1docker version
效果
4.2 Docker-Compose安装
下载Docker/Compose:h ...





![DevOps搭建(五)-集成Sonar Qube[SonarQube,GitLab,Jenkins]](https://cdn.jsdelivr.net/gh/LisianthusW/pic_bed@main/images/2024/07/24/15-17-55-2021-11-23_175935-789003.png)
