第1节:Jenkins的安装与启动

[toc]

第1节:Jenkins的安装与启动

自己的文章:

①、Jenkins(一)初步认识

一、Jenkins的安装

①、直接下载Jenkins安装。

1
2
3
4
brew install jenkins-lts

# Stable:稳定版本。
# LTS(Long Term Support):长期演进版

②、安装成功后,其会自动打开http://localhost:8080

此时如果我们发现打开错误。原因是我们缺少Jenkins的运行环境,所以我们需要安装java的jdk。如果要验证是否是这个原因的话,我们可以通过命令行查看当前的java版本
Java
果然发现没有安装,则我们通过下载jdk来进行安装。
java的jdk下载地址
jenkins_jdk1
jenkins_jdk2
安装完后,我们再运行一下验证命令,发现可以运行了,即我们安装好了。
Java

③、java环境安装成功之后,接下来我们就可以正常访问Jenkins了。Jenkins的访问地址为http://localhost:8080。打开的页面显示如下:
jenkins_3

④、提示我们需要输入其指定文件夹下的密码来访问。则我们访问其指定文件,发现没法访问该文件内容
jenkins_4
jenkins_noPermission1

所以这里我们通过修改权限,让读取该文件内容,如下:
jenkins_noPermission2
⑤、将读取后的密码输入到登录网页上,即可登录,登录后的结果为:
jenkins_start1

⑥、因为此时为首次登陆,所以其会提示我们安装Jenkins建议的插件。则我们按照步骤进行Jenkins默认插件的安装。安装过程如下所示:
jenkins_start2
jenkins_start3

⑦、一路安装过来,输入用户名,密码。
之后继续登录http://localhost:8080/可以看到最终的显示结果为:
jenkins_use1
此时则我们的Jenkins的初始安装完毕(之后我们可能还需要安装一些自己需要的插件)。

二、Jenkins的启动

没有权限问题的Jenkins正确的启动方式如下(按下面方式打开,才不会出现权限问题):

1
2
$ sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
$ java -jar /Applications/Jenkins/jenkins.war --httpPort=8080

当你执行完这两行命令的时候,你可以在浏览器上输入http://localhost:8080来访问Jenkins了。(如果你只执行了第一行,没执行第二行,会出现无法访问)

三、Jenkins的升级

1、如何查看jenkins 的版本号

jenkins页面的右下角就是jenkins版本号信息

image-20200927143448781

image-20200927143111985

image-20200927233412864

image-20200927234036120

要执行下载好的版本

image-20200928001116531

CocoaPods库部署

[toc]

如果你在终端执行pod search xxx,未得到上面的结果,是因为cocoaPods的本地search_index.json文件有问题,
方法①:请前往~/Library/Caches/CocoaPods/search_index.json将该文件删除,
方法②:或者直接在终端输入:rm ~/Library/Caches/CocoaPods/search_index.json
删除后,再重新执行命令即可。

一、远程库

1、添加库的版本

1.1、添加公有库的版本

1.2、添加私有库的版本

1
2
3
4
5
6
 #验证方法1:
pod lib lint CQBaseUIKit.podspec --sources='https://github.com/CocoaPods/Specs.git,https://gitee.com/dvlproad/dvlproadSpecs' --allow-warnings --use-libraries --verbose
#验证方法2:
pod lib lint CQBaseUIKit.podspec --sources=master,dvlproad --allow-warnings --use-libraries --verbose
#提交方法:
pod repo push dvlproad CQBaseUIKit.podspec --sources=master,dvlproad --allow-warnings --use-libraries --verbose

不需要过多验证的话,简洁版:

1
pod repo push dvlproad CQThemeUIKit.podspec --allow-warnings

2、删除库的某个版本

2.1、删除公有库的某个版本

2.2、删除私有库的某个版本

CocoaPods创建公有Pod库后删除特定版本来纠正意外推送

可以删除一个POD的特定版本来纠正意外推送。

1
pod trunk delete PODNAME VERSION

3、放弃整个库

你也可以放弃整个POD和所有版本。

1
pod trunk deprecate PODNAME

确认时,请回复一个”y”(小写字母 y)

二、本地库

1、库的本地位置

1
2
# 库目录
~/.cocoapods/repos/dvlproad

Git

Git feature

使用Git Flow工作流:

image-20220301145230642

image-20220301145504810

输入对应的生产环境分支名和开发分支名,如果输入的分支不存在,则会弹出如下提示:

image-20220301152403882

git 项目默认自动创建 master 主分支;
点击仓库–> git flow 或 hg fow –>初始化仓库,初始化仓库并创建develop开发分支;

在这里插入图片描述

创建 feature 功能分支:

双击 Sourcetree 左侧的 develop 开发分支,切换到 develop 开发分支;
点击仓库–> git flow 或 hg fow –>建立新的功能,输入功能名称,点击确定即可;

  1. 在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

完成 feature 功能分支:

当 feature 功能分支开发完成后,即可将 feature 中的代码合并到 develop 分支中。

提交 feature 功能分支的代码到远程;
在 feature 分支上,点击仓库–> git flow 或 hg fow –>完成功能;

在这里插入图片描述

feature 功能分支中的代码合并到了develop 开发分支,feature 分支被删除;

创建 release 发布分支:

双击 Sourcetree 左侧的 develop 开发分支,切换到 develop 开发分支;
点击仓库–> git flow 或 hg fow –>建立新的发布版本,输入发布版本号,点击确定即可;
完成 release 发布分支:

在 release 分支上,点击仓库–> git flow 或 hg fow –>完成发布版本,发布完成后 release 分支的代码同时合并到了 master 分支和 develop 分支。

创建 hotfix 补丁分支:

在 master 分支上,点击仓库–> git flow 或 hg fow –>建立新的修复补丁。

完成 hotfix 补丁分支:

在 hotfix 分支上,点击仓库–> git flow 或 hg fow –>完成修复补丁,合并完成后 hotfix 的代码同时合并到了 master 分支和 develop 分支。

Git Log

Git log

1
2
3
4
git log --merges --after="2022-10-13" --oneline --decorate
git log --after="2022-10-13" --oneline --decorate

git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all --after '10-13-2022' --merges

查看历史版本记录–指定显示条数

同时,与git log相同的是,git reflog也提供了控制显示条数的选项:

命令:git reflog -n

1、获取本分支合入指定分支的commitId

有些时候需要解析分支,tag,或者其他对于提交的间接引用。对于这种情况,你可以使用git rev-parse命令。下面的命令返回指向development分支的提交哈希串。

1
git rev-parse development

这对于编写只接受提交ID作为参数的自定义脚本非常有用。你可以使用git rev-parse命令来标准化脚本的输入,进而进入对于提交的统一处理。这就避免了脚本用户需要手动解析提交的引用。

二、获取commitId的信息

1、获取commitId的提交信息

想要将此哈希串作为参数传递给其他Git命令,只需要提供足够长度的字符串就可以了。比如说,你可以通过下面的命令来传入上面的哈希串,以便使用git show命令查看那次提交的具体内容。

1
2
3
git show 0c708f

git show -s --oneline 3d21461a7ef205ed0cee0baf45e95e782f4e84af

2、获取commitId的根源远程分支

①、获取有哪些远程分支里已经合入了commitId

1
git branch --contains eb0633b76925041f84b592a2e261e0b8537953f7 -r # -r标识远程分支

②、第一个合入commitId的远程分支,即为commitId的根源分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
branchResultForFisrtCommit=$(git branch --contains "${firstCommitId}" -r)
echo "${branchResultForFisrtCommit}"

branchArrayForFisrtCommit=(${branchResultForFisrtCommit})
branchCountForFisrtCommit=${#branchArrayForFisrtCommit[@]}
#echo "branchCountForFisrtCommit=$branchCountForFisrtCommit"
#for ((i=0;i<branchCountForFisrtCommit;i+=1))
#{
# branchName=${branchArrayForFisrtCommit[i]}
# echo "branchName=${branchName}"
#}

echo "\n------下面开始获取firstCommitId:${firstCommitId}的提交所属的根源远程功能分支名------"
sourceBranchForFisrtCommit=${branchArrayForFisrtCommit[${branchCountForFisrtCommit}-1]}
echo "sourceBranchForFisrtCommit=${sourceBranchForFisrtCommit}"

Git Search

Git查看分支从哪个分支创建的

查看分支创建时间

1
git reflog show --date=iso <branch name>

举例如图:

查看Git分支从哪创建

最老的那条记录即可以看出是从哪创建出来的。

但有时候记录太多,滑动太长,可以直接使用如下命令,直接查看

1
git reflog dev_environment | grep "Created from"

如果是feature分支

1
git reflog show --date=iso feature/设备小程序

image-20220301145230642

Git项目管理

Git log

git统计提交代码量

1
2
3
git log --author="_your_name_" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

git log --author=xxxxx --since=‘2023-01-18 00:00:00’ --until=‘2023-01-18 23:00:00’ --pretty=tformat: --numstat | awk ‘{ add += $1; subs += $2; loc += $1 - $2 } END { printf “added lines: %s, removed lines: %s,total lines: %s\n”, add, subs, loc }’

git log 查询git的提交记录

–author=xxx 查询某一个用户的提交记录

–pretty=tformat: 控制显示的记录格式

–numstat 对增加和删除的行数进行统计 第一列显示的是增加的行数 第二列显示的是删除的行数

–since 需要统计的开始时间

–until 需要统计的结束时间

实操:

1
2
3
4
5
6
7
8
9
10
# 常量形式
git log --author="qian" --since='2023-02-18 00:00:00' --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

# 变量形式
authorName=qian
sincedate='2023-02-18 00:00:00'
git log --author="$authorName" --since="$sincedate" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }'

# 增加统计多少个文件
git log --author="$authorName" --since="$sincedate" --pretty=tformat: --numstat | awk '/./ { add += $1; subs += $2; loc += $1 - $2 } END { printf "modified files: %s, added lines: %s, removed lines: %s, total lines: %s\n", NR, add, subs, loc }'