gitlab+docker+jenkins 中遇到的坑

1、jenkins 一定要配置 docker服务器中 git的地址,不然拉不到代码。

2、docker 一定要把 jenkins添加到组中 不然没有 docker权限。还要配置docker的

sudo gpasswd -a jenkins docker

sudo service jenkins restart

3.jenkins 中 sell的配置(太长 放最后了)

4.一般来说做.net项目 都会发有自己的服务器。 必须必须 把jenkins nuget地址改变了。 在找不到路径 就用查找办法

find / -name '*nuget*'

出来会有很多个 最接近正确的 是  安装目录 这个目录 /var/lib/jenkins/ 。这个坑啊 坑。 

这里只有 微软管方的。nuget.org。所以官方的dll可以拉下来。 自己nuget的就不行。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="mynuget" value="http://192.168.0.253/nuget" />
  </packageSources>
</configuration>
加一行

echo "=====准备开始发布==========="
#要构建的解决方案名称
solutionName=Electricity.AttenceService
#.sln文件全路径
solutionDir=${solutionName}.sln
#.csproj文件全路径
csprojDir=Electricity.AttenceService.Api/Electricity.AttenceService.Api.csproj
#制定run的端口
port=7030
#项目发布的目录
webDir=/home/service
#静像名称
imageName=attenceapi

#dotnet restore  ${JENKINS_HOME}/workspace/${JOB_NAME}
echo "===========正在编译程序=============="
#发布网站到webDir
dotnet publish ${JENKINS_HOME}/workspace/${JOB_NAME}/${csprojDir} -c Release -o ${webDir}/${JOB_NAME} /p:Version=1.0.${BUILD_NUMBER}
echo "=====正在操作Docker==========="
 containerps=$(docker ps -a -f name=${imageName} -q) 
for alpha in "$containerps";do
    if [ "${alpha}" == "" ];then
        echo "不存指定容器!"
    else
        docker stop ${alpha}
        docker rm ${alpha}
    fi
done

dockerlist=$(docker images ${imageName} -q)
for alpha2 in "${dockerlist}";do
  if [ "${alpha2}" == "" ];then
     echo "不存在指定镜像!" 
  else
      docker rmi ${alpha2}
  fi
done
echo "===========正在构建镜像=============="
#通过Dockerfile重新构建镜像
cd  ${webDir}/${JOB_NAME}
docker build  -t ${imageName} .
#docker run容器并绑定到端口
docker run -e TZ="Asia/Shanghai" --name ${imageName} -p ${port}:${port} -d ${imageName}
echo "===========发布成功=============="

 

#选择从什么镜像基础上创建我们的镜像,相当于选择我们依赖的环境 

FROM microsoft/dotnet:2.2.0-aspnetcore-runtime

#把当前目录复制到镜像的 app目录 

COPY . /app 

#指定工作目录 

WORKDIR /app 

#暴露的端口 是之前准备asp.net core应用设置的端口一致 UseUrls(“http://*:6001”) 

EXPOSE 5030 

#最后设置启动的dll 

ENTRYPOINT ["dotnet", "Electricity.FileService.Api.dll"]
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值