Docker Compose自建NuGet服务器

 

问题1:baget.env配置不生效

网上有不少介绍拉取BaGet容器自建NuGet服务器的例子,baget.env配置文件放在当前baget-data子目录下面,然后docker run。我用docker compose试验不好用,主要问题是baget.env配置的环境变量貌似无法生效。后来全部改为docker compose里面定义环境变量,好使了。

docker-compose.yml示例如下:

version: '3'

 

services:

 

  nugetserver:

    container_name: nugetserver

    image: loicsharma/baget

    ports:

      - "9100:80"

    environment:

      #- env-file=baget.env

      - ApiKey=xxx123456

      - Storage__Type=FileSystem

      - Storage__Path=/var/baget/packages

      - Database__Type=Sqlite

      - Database__ConnectionString=Data Source=/var/baget/baget.db

      - Search__Type=Database

      - TZ=Asia/Shanghai

    volumes:

      - ./baget-data:/var/baget

    restart: always

 

把docker-compose.yml拖到阿里云上,docker-compose up跑起来即可。

 

问题2:Edge访问http域名自动跳转为https

阿里云服务器配置了域名解析,Edge(Chrome内核)访问http://www.xxx.cn:9100会自动专为https,然后提示ERR_SSL_PROTOCOL_ERROR错误,后来用360浏览器(极速内核)访问是可以的。Chrome浏览器有相关设置,可以关闭http自动跳转https,但是Edge浏览器不知道怎么关闭。

 

问题3:类库缺少xml注释

这个问题网上很多介绍了,就是给类库项目增加一个属性即可。

    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>

然后打包类库,会多出xml文件,生成的nupkg会包含xml注解,引用NuGet包的项目可以看到函数注解。

 

 Docker Compose自建NuGet服务器

开发流程

创建类库项目,在项目的打包属性中填写必要信息,然后打包,然后在nupkg所在文件夹控制台执行命令,推送到NuGet服务器。

dotnet nuget push -s http://www.xxx.cn:9100/v3/index.json TestLib.1.0.0.1.nupkg --api-key xxx123456

然后在VS2019的NuGet菜单中增加源。

 Docker Compose自建NuGet服务器

在安装NuGet包的时候,选择自建的NuGet服务器即可。

上一篇:无法在源“”处找到包“entityframework”


下一篇:expect自动输入密码