u网站建设,网站建设需要用到哪些软件有哪些,天元建设集团有限公司济南第六建筑工程分公司官网,西安网页制作教程不知道为什么#xff0c;现在什么技术都想学#xff0c;因为我觉得我遇到了技术的壁垒#xff0c;大的项目接触不到#xff0c;做的项目一个字辣*。所以#xff0c;整个人心浮气躁#xff0c;我已经得通过每天的骑行和长跑缓解这种浮躁了。一个周末#xff0c;我再次宅在…不知道为什么现在什么技术都想学因为我觉得我遇到了技术的壁垒大的项目接触不到做的项目一个字辣*。所以整个人心浮气躁我已经得通过每天的骑行和长跑缓解这种浮躁了。一个周末我再次宅在了家里学习了一下CICD。
先分享一下shigen的学习视频资源CICD流水线实战
git
分布式版本控制器。gitlab可以创建私人的仓库github私有仓库需要付费。 SVN 不推荐不是喷它技术的革新新技术会解决老技术的各种问题。 由于SVN的集中式架构、对离线工作支持较差、分支和合并复杂以及缺乏现代化功能等原因它已经不再被推荐作为主要的版本控制系统。 目前Git已成为广泛使用的分布式版本控制系统并且具有更强大的功能和更好的性能。——来自chatGPT的总结 git原理
再多的概念都没有一张图来的实在和清晰 git配置
~/.gitconfig会保存git的全局配置可以在这里修改git用户的信息如name email。
cat ~/.gitconfiggit在项目中
在项目的根路径下也会存在.git文件夹里边也有一个config文件存储的是当前的项目配置。 查看配置信息
git config --list设置
通常用来配置name email。
git config set nameshigen查看分支和提交
我本地配置了gitlog 具体的配置shigen分享在下边啦。 gitloggit log --graph --abbrev-commit --decorate --formatformat:\%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n\\ %C(white)%s%C(reset) %C(dim white)- %an%C(reset)\ --all执行命令就是这样的是不是很清晰明了 shigen更推荐tig。直接在mac上执行brew install tig即可。 效果非常的炫酷、友好可以直接在控制台查看文件的改动。 常用的命令
虽然图像化的操作工具如我常用的idea ugit等都能很好的满足日常所需但是底层的原理还是得了解一下。想想万一只有终端操作咋办。
初始化
git init文件添加到暂存
git add xxx提交
git commit -m msg查看日志
git log暂存区状态
git status当前文件与上次提交的差别
git diff回到某个版本
git reset --hard xxxx从本地push到主分支 一般的公司master分支可是不允许直接push代码的这里只是一个例子哈。 git push -u origin mastergitlab
安装
发现直接安装会有问题如找不到镜像源。尝试使用docker安装发现云服务器的内存不够用安装的脚本如下
mkdir -p etc/gitlab var/log/gitlab /var/opt/gitlab
docker run -d -p 81:80 -p 10011:443 -p 10012:22 \--restart no \--name gitlab \-v $PWD/etc/gitlab:/etc/gitlab \-v $PWD/var/log/gitlab:/var/log/gitlab \-v $PWD/var/opt/gitlab:/var/opt/gitlab \--privilegedtrue \gitlab/gitlab-ceecho 访问81端口参考文章Gitlab----使用Docker方式安装部署Gitlab
感兴趣的可以看看在M1芯片的电脑上如何的安装如何在M1的Mac上搭建gitlab
特色添加用户、使用邮箱、代码合并
Nexus3
maven的仓库私服。直接下载、解压、启动。和docker的harbor类似。
jenkins
自动的构建易于安装和配置分布式构建多台计算机一起构建支持的插件很多
容器化CI/CD流程
本地代码---git---jenkins---harbor----docker(k8s)部署
参考文章Mac M1 部署 Jenkins
brew install jenkins-lts
brew services restart jenkins-lts
open 127.0.0.1:8080获得jenkins的默认密码
cat /Users/xxxx/.jenkins/secrets/initialAdminPassword按照教程下载推荐的插件、创建账户、使用默认的URL即可。
配置
中文的配置
参考文章jenkins设置中文
全局工具的配置 Java的路径
/opt/homebrew/opt/openjdk17/bin权限的划分需要使用到插件部署的过程推荐文章Mac M1部署jenkins
本地新建项目并上传gitee
git commit -m first commit
git remote add origin https://gitee.com/shigen/wx-develop.git
git push -u origin master在jenkins的项目面板新建项目具体的过程参见jenkinsgitee实现代码自动化部署
在脚本的实现部分我手写了一个上传到我自己的harbor。这里仅作为一个测试使用具体的实际开发、应用场景都是类似。
首先需要知道的是我拉取的代码的位置shigen电脑上的位置是这样的
/Users/xxxx/.jenkins/workspace/wx-developshell脚本
shigen的脚本是这样的。首先就是通过maven对代码进行编译和打包之后用docker将java 服务的jar打包进容器生成的容器推到harbor本地运行。
#!/bin/bash
# jenkins shell script to deploy the java projectecho ------start deployment--------
echo java -version mvn -versionmvn clean install -DskipTestsDATE$(date %y%m%d-%H%M%S)
APP_NAMEwx-xxxxx
APP_PORT80
HARBOR_DOMIANxxxxxxxxTAG$APP_NAME:$DATE
docker build -t $TAG -f Dockerfile .docker login $HARBOR_DOMIANNEW_TAG$HARBOR_DOMIAN/xxxx/$TAG
docker tag $TAG $NEW_TAG
docker push $NEW_TAG
echo $TAG uploaded successfullydocker run -d --name $APP_NAME-$DATE -p $APP_PORT:$APP_PORT $NEW_TAGecho Successfully started具体的配置如下 点击build now会出现一个新的任务 具体的日志是这样的 本地和harbor上也确实有这个服务和镜像的存在这里就不再做进一步的验证了。
最后总结一下jenkins的自动化流程的步骤 pipline流水线
参考文章pipeline流水线
以上就是shigen最近几天学习的成果关于CICD流水线实战的全部内容。后期也会攻克k8s期待进一步和大家分享。