版本管理是为满足不同需求,对同一产品或系统进行局部的改进 和改型所产生的产品或系统系列的变更情况进行记录、跟 踪、维护和控制的过程。

它的主要功能有:

集中管理档案,安全授权机制:档案集中地存放在服务器上,经系统管理员授权给各个用户。用户通过check in和check out的方式访问服务器上的文件,未经授权的用户则无法访问服务器上的文件。

软件版本升级管理:每次登入时,在服务器上都会生成新的版本,任何版本都可以随时检出编辑。

加锁功能:在文件更新时保护文件,避免不同的用户更改同一文件时发生冲突。

提供不同版本源程序的比较。

SVN

Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。

安装

windows

下载地址:下载 · TortoiseSVN

选好路径next即可

代码仓库提取到本地

  1. 右键使用svn checkout

  2. 在URL of repository中修改代码仓库地址,如:http://192.168.3.1/project/xxxx;在checkout directory中修改提取到本地的位置

  3. 点击OK,并等待拉取成功

更新目录

本地更新到远程库中的最新文件

svn update

提交操作

为服务器提交修改,并保存在服务器上

svn commit

Git

配置变量

使用git config获得和设置配置变量,最常用的为:

git config –global user.name “[name]”
git config –global user.email “[email address]”

项目创建与下载

使用git clone将在线仓库下载到本地目录中。注意url的拼写,复制url时需要检查https字段是否正常。若无法复制成功,请尝试将链接复制在记事本后再复制进console中。

git clone [url]

使用git init,创建一个空的Git仓库或重新初始化一个现有仓库。

git init [repository name]

分支操作

使用git branch,可以对分支进行一系列操作。

git branch # 列出所有本地分支
git branch [branch name] # 创建一个新分支
git branch -d [branch name] # 删除分支

使用git checkout,可以切换分支

git checkout [branch name] # 切换分支
git checkout -b [branch name] # 创建一个新分支并切换到该分支

修改和提交

使用git status,可以对查看当前版本的状态。

使用git log,可以对查看提交历史。

使用git diff,可以对查看内容差异。

git diff # 查看工作目录和暂存区的状态
git diff –staged # 查看暂存区和版本库差异
git diff [first branch] [second branch] # 查看两个分支之间的差异。

使用git commit将更改记录(提交)到存储库。可以用git emoji在message中添加一些表情。具体作用可以参考该网址:https://gitmoji.js.org/

git commit -m “[ Type in the commit message]”

使用git push,上传代码到远程分支。

git push [remote] [branch] # 上传代码到远程分支
git push [remote] :[branch/tag-name]  # 删除远程分支或标签

合并与同步

使用git pull,可以下载远程代码并快速合并本地代码。

git pull [remote] [branch]

Jenkins

Jenkins是一个独立的开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

前身是Hudson是一个可扩展的持续集成引擎。可用于自动化各种任务,如构建,测试和部署软件。Jenkins可以通过本机系统包Docker安装,甚至可以通过安装Java Runtime Environment的任何机器独立运行。

主要用于:

  1. 持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。

  2. 监控一些定时执行的任务

搭建

Jenkins下载地址:Jenkins download and deployment

Windows--tomcat

  1. 在下载地址中找到Windows版本,下载到本地

  2. 搭建java环境,将java加入环境变量

  3. 安装选择下一步,在端口设置中改为8181后,下一步安装完毕即可

  4. 安装tomcat,将Jenkins.war复制一份到tomcat中的webapps中

  5. 修改tomcat中的server.xml,把tomcat端口修改为8181

  6. 运行bin中的startup.bat,在浏览器中输入localhost:8181即可打开jenkins

  7. 按照jenkins中的提示一步一步走即可

Windows--Jenkins

  1. 使用命令net start jenkins开启服务

  2. 在浏览器中输入localhost:8233开启jenkins(可在jenkins.xml修改端口)

Windows--java(推荐)

  1. 使用java -jar jenkins.war即可运行(jenkins本身是由springboot开发,所以可以直接用java命令开启)

  2. 在浏览器中输入localhost:8080即可打开jenkins

中文设置

  1. 打开Manage Jekins

  2. 找到并打开Manage Plugins

  3. 进入Available plugins

  4. 搜索安装插件Locale(This plugin lets you control the language of Jenkins.)Chinese

  5. 进入Configure System,找到Locale,在Default Language中输入zh_CN并勾选Ignore browser preference and force this language to all users

  6. 点击Applysave,系统语言就会是中文了

创建构建任务

点击新建Item

输入任务名并点击Freestyle project,完毕后点击确定

配置Source Code Management,这个地方用于获取git、svn中的代码,git就选择git,svn就选择Subversion

配置Build Triggers,用于定时执行任务

配置Build,Linux环境下在Build中选择执行Shell,Windows环境下选择执行Windows批处理命令(其他的也可,但是Shell命令是很普遍的,所以强烈推荐),然后输入Command,这样就可以让kenkins执行的时候执行该命令运行代码,参考如下:

#!/bin/bash -e
​
# 寻找miniconda3的sh,并激活conda环境
. $HOME/miniconda3/etc/profile.d/conda.sh
conda activate xxxxxx
​
cd ./src/main/
python -m main

定时构建

语法:*

(五颗星,多个时间点,中间用逗号隔开)

第一个表示分钟,取值0~59

第二个表示小时,取值0~23

第三个表示一个月的第几天,取值1~31

第四个表示第几月,取值1~12

第五个表示一周中的第几天,取值0~7,其中0和7代表的都是周日

源自jenkins持续集成:定时构建语法 - 向前走。 - 博客园 (cnblogs.com)

超时抛弃构建

在使用jenkins进行自动编译、构建时有些任务可能由于网络或其他原因一直阻塞,导致该项目不能再次执行编译构建。我们希望在某些任务执行时间超过一定值时将其终止。

jenkins的build timeout plugin插件可以帮我们完成该任务。jenkins的2.7.1版本默认就已经安装了该插件,如果默认没有安装可在插件管理中搜索进行安装。

文章作者: Vsoapmac
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 soap的会员制餐厅
运维 git svn jenkins
喜欢就支持一下吧