Докер ядра .NET - как найти приложение ввода после публикации дотнета - PullRequest
0 голосов
/ 09 мая 2018

После всех руководств .NET Core в основном сводится к dotnet publish и копирует выходные данные этого к /app, затем запускается dotnet myapp.dll.

У меня около 40+ (и растущих) продуктов, работающих в этой настройке, и поэтому изменение всех докер-файлов с помощью myapp.dll становится довольно трудоемким.

Мне было интересно, есть ли какой-нибудь способ узнать, что представляет собой запись dll во время публикации? (например, с --self-contained cli генерирует специфичный для арки файл записи, так что вы можете использовать это имя, но это кажется ненужным шагом, учитывая, что публикация занимает больше времени)

1 Ответ

0 голосов
/ 09 мая 2018

Вы можете создать скрипт bash, который будет извлекать имя проекта, а затем создать правильный путь с заменой его в файле скрипта.

Если вы находитесь в папке решения, просто запустите: (bash)

PROJECT_NAME=`find ./ -name "*.sln" | head -n 1 | cut -d '/' -f 2 | sed 's/.sln//'`

Если у вас есть файл решения myapp.sln , эта команда вернет значение myapp

Затем вы передаете это значение в скрипт:

./runScript.sh "$PROJECT_NAME"

И внутри этого скрипта:

dotnet "/app/$1.dll"

Для докер-файлов вы должны заменить все вхождения, например. {{PROJECT_NAME}} в файле до значения переменной. Теперь я не помню команду, но sed полезен для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...