Comments (19)
Now we have experimental windows docker images for latest teamcity eap build: https://hub.docker.com/r/jetbrains/teamcity-agent/
Feel free to share feedback.
from teamcity-docker-agent.
My question is, whether it's reasonable to install build agents (either natively or via Docker) on local machines I am developing on rather than in the cloud as I initially expected.
from teamcity-docker-agent.
+1 I would like to use Docker container based on Windows as a TeamCity build agent.
from teamcity-docker-agent.
+1 for the windows agent.
from teamcity-docker-agent.
+1 here also for Windows agent, would be great
from teamcity-docker-agent.
+1 from me, too.
I've tried to set up build agents on nano server, but have problems with socket connections. Follow the forum thread on https://teamcity-support.jetbrains.com/hc/en-us/community/posts/115000548404-Problems-running-agent-on-Nano-Server. If I succeed, I will post a recipe.
from teamcity-docker-agent.
A first shot for a Build Agent on either Nano Server or Windows Server Core is availale at https://github.com/daghb/tcagent-nanoserver
from teamcity-docker-agent.
We're planning to release the official TeamCity Windows Docker image soon.
Please, watch\vote for the feature in our YouTrack - https://youtrack.jetbrains.com/issue/TW-47392.
from teamcity-docker-agent.
I have been doing some research on Teamcity and Docker and came across multiple blog posts, "wild Dockerfiles" and the likes to be able to use MSBuild and the .NET framework in Docker. Since I saw this issue as well I'd like to ask a question in order to see whether I understand the images correct.
I am working on a solution that consists of multiple C# projects (.NET 4.7), native C++ applications and static libraries targeting 64bit and corresponding native test projects relying on the internal Microsoft::VisualStudio::CppUnitTestFramework
. As far as I have understood it should be possible to have a Teamcity agent pulling the sources from GitHub and execute MSBuild for various configurations and projects as well as running the unit tests using vstest.console.exe
.
Are the Docker images with Windows agents able to perform that as well or do I need to build on top of them by finding out how to install the toolchain from .NET to MSVC and VSTest manually?
from teamcity-docker-agent.
@NearAutomata, due to licensing policy we could not provide agent image with MSBuild and tools pre-installed, but you could create derived image from our windowsservercore
image.
In this case your Dockerfile
will look like that:
FROM jetbrains/teamcity-agent:latest-windowsservercore
# ... steps to install build tools
Sample steps to install required build tools you could find in the following Dockerfile.
Other examples could be found in the following repository:
https://github.com/StefanScherer/dockerfiles-windows
Then you could push it to some docker registry and use it to start TeamCity agents.
from teamcity-docker-agent.
Thanks for the followup. I just noticed I will be running into problems since working with MSBuild requires a Windows agent Docker image that cannot be executed on a Linux machine since it requires Hyper-V and thus a Windows host. I'll need to reconsider how I can run a build agent otherwise but it seems I need a Windows machine for that nonetheless.
from teamcity-docker-agent.
@NearAutomata, you may find a few hints on installing MSBuild onto a windowsservercore or nanoserver image on https://github.com/daghb/tcagent-nanoserver. The process is not entirely self explaining, but you may shave off some study time by looking into this Dockerfile (lines 28-34) and installMSBuildTools.ps1.
from teamcity-docker-agent.
Is it actually reasonable, to not consider building a MSBuild docker agent right away, to install local agents on development machines themselves and not other servers since I only have access to Linux based servers?
from teamcity-docker-agent.
Not sure if I understand, @NearAutomata - but you can use exactly the same approach building agent images running on local Windows based developer machines. However, if you are building .NET Framework based applications, your only option server side is basing your image on windowsservercore, not nanoserver.
from teamcity-docker-agent.
It is reasonable to install them locally if you are running Linux only in the cloud with MSBuild based projects. I cannot see any way around that if you may only use one provider with Linux only servers. On our site, we are on AmazonWS with a Windows 2016 Server host running Windows Server Core containers.
from teamcity-docker-agent.
Since TeamCity 2017.2.2 agent image includes MS Build Tools and all images support windows 1709 docker containers.
from teamcity-docker-agent.
@dtretyakov Back in October, you had mentioned that there was a licensing policy issue with including MS Build Tools. I'm just curious if that has since changed. Did MS change their licensing policy for the build tools with respect to Docker images? Did you guys work something out with them?
from teamcity-docker-agent.
@bzier, yes, now MSFT allows to install MS Build in containers and even provides docker image with pre-installaled build tools on top of which we have rebased our jetbrains/teamcity-agent
-windowsservercore
images.
from teamcity-docker-agent.
@dtretyakov Awesome, that means less maintenance for all of us. I'll rebase our image on your latest, which will allow me to clean up the MS Build install steps in our Dockerfile. Thanks for the update and the information.
from teamcity-docker-agent.
Related Issues (20)
- Can we run tests on containers in build agent by installing Docker in teamcity build agent HOT 2
- Missing fontconfig package in linux HOT 1
- DOCKER_OPTS insecure-registry setting not working HOT 5
- Support for .net sdk 3.0 HOT 8
- Unable to build docker image HOT 1
- Question: official php support? HOT 1
- windows docker image doesn't contain powershell HOT 4
- Document options that can be set in environment variables HOT 3
- Issue with apt installer HOT 4
- Docker does not start anymore with version 2020.1 HOT 7
- Windows Docker Agent Building Windows Docker Images HOT 1
- teamcity-agent docker image latest version jetbrains/teamcity-agent:2020.1 prevents installations as root HOT 2
- How to import GnuPG keys? HOT 2
- agent container downloads update in loop HOT 7
- Mercurial missing in 2020.1.2 images HOT 6
- Permission issue when attempting to run in docker swarm HOT 11
- Docker service fails to set ulimit HOT 1
- Generating Self Singed Certificated for TeamCity Agent & Connection to Teamcity Server in Docker HOT 2
- cgroups: cgroup mountpoint does not exist: unknown HOT 3
- Kubernetes no longer supports Dockershim and it breaks TeamCity agent on EKS 1.24 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from teamcity-docker-agent.