由于本身Jenkins镜像没有.net core环境,所以我们拉取一个制作好的镜像,里边包含Jenkins环境和.net core3.1与5.0的环境以及git的环境。因为我们要使用docker下面的Jenkins来发布git上面的.net core项目,这些都是必须的。
docker pull xsw2014/net-jenkins:1.0
docker run -u root --rm -d -p 8000:8080 --name dotnetjenkins \ -v /usr/bin/docker:/usr/bin/docker \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /etc/sysconfig/docker:/etc/sysconfig/docker \ -v /home/dockerVolumes2/jenkins_home:/var/jenkins_home \ xsw2014/net-jenkins:1.0
然后进入容器看看基础环境有没有:
docker exec -it 88e895fd28c5 bin/sh
授权
chmod 777 /home/dockerVolumes2/jenkins_home
输入你的ip加上我们映射的端口8000
使用命令查看初始化密码:
//进入容器 docker exec -it 8d9d397631935f bin/sh //进入到密码查看目录 cd /var/jenkins_home/secrets/ //显示当前文件夹下文件 ls //显示initialAdminPassword内容 cat initialAdminPassword
配置Credentials
把你项目的url填写好,凭证的话如果是公共项目可以不填写。如果凭证填写有问题就会导致项目拉取不下来,这个在使用Jenkins发布的时候日志里边可以看到的。这里的git测试项目地址:https://github.com/yandaniugithub/DockerJenkinsTest
大家也可以直接用来测试。就是一个新建的core5.0 webapi的项目。
其实Jenkins最基础的核心就是:帮你拉取代码帮你执行发布命令而已。所以有时候如果jenkins发布有问题,那些命令你可以自己手动执行下试试,来找问题。当然jenkins还支持不同的分支发布到不同的环境,集群发布等,但基础的核心内容还是拉取项目和执行发布命令。
dotnet restore dotnet build dotnet publish #输出一提示的话 echo "Successfully^_^ ......................................................................................" #输出当前地址,可以在日志中看到当前路径,检查一些路径问题 pwd #docker stop helloworldcontainer #docker rm helloworldcontainer #docker rmi hello-world #构建镜像命令 docker build -t hello-world . #运行镜像 docker run --name helloworldcontainer -p 5000:80 -d hello-world
然后点击存储然后构建即可
然后立即构建