.net core项目提交的gitee完成自动构建

 

.NetCore源码交给git管理(本地)

1、安装git的客户端工具,下载地址: https://git-scm.com/downloads

2、创建文件夹并初始化git仓库

3、提交代码到本地仓库

Git本地仓库的源码推送至远程的github

1、注册一个github账号【账号和密码要记得】

2、配置本地git与远程git的互信关系

在本地生成一个密钥对
ssh-keygen -t rsa  -C "inet_ygssoftware@163.com"

3、创建一个仓库然后在Git仓库配置推送所需信息

git config --global user.name 'gerry'
git config --global user.email 'inet_ygssoftware@163.com'
git config --global http.sslVerify "false"

#### git 
git remote set-url origin https://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@github.com/ygs12/repo-demo.git

4、本地仓库源码同步到Github

git add . ## 添加当前项目所有新的或者修改后的文件到暂存区
git commit -m "首次提交" ### 把所有暂存区的数据提交到本地仓
git push -u orgin master ### 首次推送的时候需要,后面直接写git push即可

配Jenkins拉取Github中的源码

1、创建“自由风格的项目”
image-20210820144001273

image-20210820144042656

2、配置私人密钥
image-20210820144413516

image-20210820144503902

image-20210820144640231

image-20210820144721293

注意:首次生成的时候token能看见,但是后面就看不见了,生成后必须记录下token一遍后面直接使用

3、配置github仓库

image-20210820144301137

基于gitee WebHook完成代码提交就触发Jenkins自动构建

1、在刚刚配置的项目中找到gitee的webhook地址

image-20210823104323571

2、在gitee对应的项目中配置gitee的webhook

image-20210823104417902

image-20210823104448733

image-20210823105544904

3、测试是否正确
image-20210823111022399

出现如上“Started by Gitee push by gerry” 代表自动构建就成功了

配置Jenkins基于.NET项目构建镜像并推送之Harbor仓库

1、安装Docker插件
2、开启Docker的tcp访问端口

vi /lib/systemd/system/docker.service
## 修改ExecStart
## 修改前
ExecStart=/usr/bin/dockerd -H fd:// --containerd /var/run/containerd/containerd.sock
## 修改后
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --containerd /var/run/containerd/containerd.sock
## 重新加载docker配置文件及重启Docker
systemctl daemon-reload && systemctl restart docker

3、在Dokcer插件中配置连接2376端口
image-20210823143537139

4、在我的视图中配置使用Docker容器

image-20210823143658010

image-20210823143914615

5、查看镜像是否推送到harbor仓库

image-20210823145548033

#### 清理生成的None的镜像####
echo ---------------Clear-Images...------------------
clearImagesList=$(docker images -f "dangling=true" -q)
if [ ! -n "$clearImagesList" ]; then
echo "no images need  clean up."
else
docker rmi $(docker images -f "dangling=true" -q)
echo "clear success."
fi



#######################  K8S 部署的(必须配置免密登录) #####################
set -e
echo OK~~~
scp ./GitSamples-WebApi/demo.yml root@192.168.3.222:/root/
ssh root@192.168.3.222 'kubectl apply -f /root/demo.yml'

基于Jenkins拉取私服镜像后在指定服务器构建容器

1、在部署的服务器的docker配置文件添加镜像私服地址

{
  "registry-mirrors": [
        "https://registry.cn-hangzhou.aliyuncs.com",
        "https://ebkn7ykm.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://f1361db2.m.daocloud.io",
        "https://registry.docker-cn.com"
    ],
    "insecure-registries": ["192.168.3.223"]
}

########## 重新加载配置文件和重启Docker容器 ############
systemctl daemon-reload && systemctl restart docker

2、通过SSH插件配置部署服务的SSH

image-20210824121125302

下拉页面找到“Publish over ssh”插件配置位置

image-20210824121220826

点击该插件“新增”按钮开始配置部署服务连接的SSH信息
image-20210824121711298

点击“Test Configuration”如果响应结果为Success就表达连接上 在点击保存即可

3、回到工程的配置中 进行shell命令的编写

echo ---------------delete container...------------------
docker rm -f net6-demo
echo ---------------delete images...------------------
docker rm 192.168.3.249/zhaoxi.net6/net6-demo:20210824
echo ---------------Launching Container...------------------
docker run -d -p 5000:80 --name net6-demo 192.168.3.249/zhaoxi.net6/net6-demo:20210824

4、构建测试并访问应用看结果

附录:

当出现Jenkins找不到Docker问题解决方式:【采用的原生Jenkins存在该问题】

docker run -d -u root -v /var/jenkins_mount:/var/jenkins_home -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -p 10240:8080 -p 5001:5000 --name myjenkins --privileged myjenkins_docker
posted @ 2022-02-05 20:13  AingHub  阅读(495)  评论(0)    收藏  举报