Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More platform independent development and build #4

Closed
jeroenhe opened this issue Jan 4, 2018 · 3 comments
Closed

More platform independent development and build #4

jeroenhe opened this issue Jan 4, 2018 · 3 comments

Comments

@jeroenhe
Copy link
Contributor

jeroenhe commented Jan 4, 2018

First off thank you for this awesome project (and presentation you gave on the subject), it's really inspiring.
In my opinion this project should be truly platform independent. Of course it's all dotnetcore running inside docker on a (currently) linux kernel, optionally run on a Windows OS, but, here are some suggestions:

  • Allow to build without hard path references to a (Windows) filesystem
  • Allow a build using a docker-compose.yml file where not image:, but build: is used for self-built services, so you can do docker-compose build. That would make for an 'awesome platform independent oneliner'©.
  • If still required, provide .sh (bash) equivalents for the remaining PowerShell scripts
  • Instructions on development with Visual Studio Code, optionally with debugging enabled (if possible).
    I was trying to (docker) build and run everything without touching Visual Studio, but failed. Before creating a PR showing off the above suggested improvements, I first need to get around the COPY nuget /nuget step failing in each of the Dockerfile's.

Any suggestions on that (that require no Visual Studio)? 😄

@EdwinVW
Copy link
Owner

EdwinVW commented Jan 4, 2018

@jeroenhendricksen Thanks for the compliment and your interest in this project!

Because I always develop on Windows, I chose this KISS based setup. But I think that making the sample truly cross-platform would not be very hard. And also note that PowerShell also runs on Linux nowadays. But because I know you personally, you probably consider this swearing in church ;)

With regards to the local /nuget folder I use for the dependency on the Infrastructure package: to build a Docker image, you should use the RebuildDockerImage.ps1 script. This script copies the /nuget folder to the local folder so it becomes part of the Docker context. Make sure you follow the readme to make sure you have a local NuGet folder with the Infrastructure package.

On my TODO list I have an item to change this so that an online NuGet repo is used. This would also eliminate the need for the powershell scripts.

@EdwinVW
Copy link
Owner

EdwinVW commented Jan 6, 2018

@jeroenhendricksen I've updated the solution to make it more non-Windows user friendly. I've removed the dependency on local folders and introduced a public MyGet feed for dependencies. I've also added bash scripts variants of the PowerShell scripts. I suggest you do a pull request if you need any additional changes.

@EdwinVW EdwinVW closed this as completed Jan 6, 2018
@jeroenhe
Copy link
Contributor Author

jeroenhe commented Jan 6, 2018

Thank you for these changes. I can confirm they work on my mac without requiring Visual Studio.

I'll make a PR for another minor optimisation where builds for all containers can be done using a single command (docker-compose build), so you don't have to visit each folder from your (RebuildAllDockerImages) script. I think that would be a nice little change, given the fact that we've already embraced docker-compose.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants