使用jenkins

 

手动拉取服务器代码到本地

确保服务器安装了git ?

 

1.新建item

2.创建一个任务2

 

确定

 3.添加git账号密码

 如果报错

 过了会莫名好了,,再观察

 有可能jenkins没装git,或者其他帖子说git版本过低

 

 

4.选择test任务

点击构建

 

 等待一个段时间可以查看构建是否成功

 

 进入工作区就可以看到从github上拉取下来的源码了

 

获得 access token

1

 

2.

 

 

3.

 

 

 4.填写名称

 

 5.选择权限

勾选repo和repo_hook

 

 

 

 点击生成token

 

 

定时拉取

每隔一段时间会去查看git上是否代码变化

 

 

 

 

安装docker插件

下载

Manage jenkins-Manage plugins-可选插件-搜索 docker build step plugin

 

配置

vim /lib/systemd/system/docker.service

在ExecStart=xxx  后面添加

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

 

重启

输入

Manage jenkins-configure system-  多出一个Docker Builder

 

 测试成功

构建docker

推送docker

 

 安装ssh插件

可能需要飞机,不然会下载失败?

 

 

 

 配置私钥

生成RSA密钥对

ssh-keygen -t rsa -C "你的邮箱@xxx.com"

生成密钥对 查看公钥内容

cat ~/.ssh/id_rsa.pub

 在码云中添加公钥生成秘钥

 ########### gitee##########

配置钩子

 安装gitee插件

 全局配置

 

 gitee api令牌

https://gitee.com/profile/personal_access_tokens 生成私人令牌

 

选中gitee触发器,划横线的部分要映射到外网,然后填写外网地址到gitee webhook里的网址

临时的测试外网映射可用https://natapp.cn/   免费版不支持https

生成 gitee webhook密码,这个密码将来要填写到gitee webhook里的密码

 

 

项目-管理-webhook

 点击测试 

 

 成功配置钩子

 
##########gitlab############

 

 

 

 

 

 

远程不使用docker 备份+运行

 

 在远程机器上写一个bat处理,再用任务计划执行这个批处理,触发时机使用上传代码带gitlab-》触发钩子->jenkens执行-》本地编译发布-》 触发远程,远程先备份老代码=》杀死当前运行的程序=》拉取jenkins服务器上编译号的文件到本地=》运行程序

xcopy F:\0core F:\备份\mesapicore\%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%\  /s /e /h /y
taskkill  /f  /im MesApiCore.exe
xcopy \\192.111.111.11\test  f:\0core /s /e /h /y
start F:\0core\MesApiCore.exe

 

 

 

本地dotnet +docker脚本

echo '获得正在运行的容器id'
cid=$(docker ps -a | grep "testnet:v1" | awk '{print $1}')
echo '删除正在运行的容器'
if [ "$cid" != "" ]; then
    docker rm -f $cid
    sleep 3s
    echo '删除成功'
fi
echo '切换到镜像目录'
cd $WORKSPACE
echo '创建镜像'
docker build -t testnet:v1 .
echo '创建并运行容器'
docker run  -d -p 5000:8888 testnet:v1

 

posted @ 2021-02-19 22:09  富坚老贼  阅读(140)  评论(0编辑  收藏  举报