Add sync_nuget_temp_proj.sh
This commit is contained in:
parent
a0c7b01279
commit
2806b7a39e
48
sync_nuget_temp_proj.sh
Normal file
48
sync_nuget_temp_proj.sh
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Переменные
|
||||||
|
AZURE_FEED=azure
|
||||||
|
GITLAB_FEED=gitlab
|
||||||
|
AZURE_FEED_URL="https://pkgs.dev.azure.com/your_org_name/your_project_name/_packaging/your_feed_name/nuget/v3/index.json"
|
||||||
|
GITLAB_FEED_URL="https://gitlab.com/api/v4/projects/YOUR_PROJECT_ID/packages/nuget"
|
||||||
|
TEMP_DIR="/opt/dev/nuget-tmp"
|
||||||
|
AZURE_PAT="your_azure_pat" # Локальный переменная для удобства
|
||||||
|
GITLAB_PAT="your_gitlab_pat"
|
||||||
|
# Путь к файлу конфигурации NuGet
|
||||||
|
#NUGET_CONFIG="NuGet.config"
|
||||||
|
|
||||||
|
# Путь к временной директории для хранения пакетов
|
||||||
|
TEMP_DIR="./nuget_temp"
|
||||||
|
mkdir -p $TEMP_DIR
|
||||||
|
|
||||||
|
|
||||||
|
# Создать временный .csproj для загрузки всех пакетов
|
||||||
|
echo '<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net5.0</TargetFramework>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="PackagePlaceholder" Version="1.0.0" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>' > $TEMP_DIR/temp.csproj
|
||||||
|
|
||||||
|
# Загрузить все доступные пакеты с помощью dotnet restore
|
||||||
|
# Используется пустой .csproj, чтобы добавить все версии пакетов в TEMP_DIR/nuget_temp
|
||||||
|
dotnet restore $TEMP_DIR/temp.csproj --packages $TEMP_DIR --source $AZURE_FEED #--configfile $NUGET_CONFIG
|
||||||
|
|
||||||
|
# Удалить созданный .csproj после загрузки
|
||||||
|
rm $TEMP_DIR/temp.csproj
|
||||||
|
|
||||||
|
# Публикация пакетов в GitLab Package Registry
|
||||||
|
echo "Загрузка пакетов в GitLab Package Registry..."
|
||||||
|
|
||||||
|
for package in $TEMP_DIR/*.nupkg; do
|
||||||
|
echo "Uploading $package в GitLab..."
|
||||||
|
|
||||||
|
dotnet nuget push "$package" --source $GITLAB_FEED #--configfile $NUGET_CONFIG
|
||||||
|
done
|
||||||
|
|
||||||
|
# Очистка временной директории
|
||||||
|
rm -rf $TEMP_DIR
|
||||||
|
|
||||||
|
echo "Синхронизация завершена."
|
||||||
Loading…
x
Reference in New Issue
Block a user