I have ASP NET Core project referring to my library using git submodules.
Project structure:
-Project Folder:
---DockerFile
---MY_APP:
------MY_APP.csproj
---MY_SUBMODULE
------MY_SUBMODULE.csproj
---MY_APP.sln
My Dockerfile:
FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build-env
WORKDIR /app
COPY . ./
RUN dotnet publish MY_APP-c Release -o publish
FROM mcr.microsoft.com/dotnet/aspnet:5.0
WORKDIR /app
COPY --from=build-env /app/publish .
ENTRYPOINT ["dotnet", "MY_APP.dll"]
My pipelines file:
image: mcr.microsoft.com/dotnet/sdk:5.0
pipelines:
default:
- step:
name: Update submodules
script:
- apt-get update
- apt-get install --yes openssh-client
- git submodule update --init --recursive
- step:
name: Build and push
caches:
- dotnetcore
- docker
script:
- docker build -f Dockerfile -t IMAGENAME .
....
services:
- docker
- step:
name: Deploy to server branch develop
.....
On my local machine all is going well, but build with pipelines throws an error:
Skipping project "/app/MY_SUBMODULE/MY_SUBMODULE.csproj" because it was not found. I guess I have some problems with submodules files.
Step with submodule update does well, but i don't see that it uses path Cloning into '/opt/atlassian/pipelines/agent/build/MY_SUBMODULE'...
So, what is a proper way to build docker image inside bitbucket pipeline on a project with submodules?