Deploy the directories to remote windows server - windows

Am using Teamcity as my CI, after checking out a repo from Github i need to deploy the files and directories to one of the remote windows machine
Note: Both my Teamcity agent and remote machine are having windows OS
Please help me to achieve the same with command line or by any of the plugins.

You can use the TeamCity Deployer plugin to gather artifacts and deploy them to a network share or FTP.
Create new network share on your target Windows machine and configure correct write permissions for the share and NTFS folder. Use the network share address in TeamCity build configuration. The machine running TeamCity agent must have access to the network share.

Related

How Jenkins master instructs slave to download source from TFS

DevOps configured a windows slave machine as build machine for our team, and I noticed that he installed TFS plug in Jenkins master ,but not slave machine. However we do get source code in the slave afterwards.
I wonder how the download workflow works? :
1) Master downloads source code and then transfers code to slave
machine ?
2) or after Master connects to TFS server, then it just instructs slave machine to download it from TFS server directly?
Please explain a bit the mechanism. If it is 2), then what is installed in slave to be able to download from TFS.
VCS plugins usually work this way:
Master is configured to use some VCS and prepared with some settings
Slave has some binaries that are able to execute download command
After a build start, most steps will be executed on slave via its binaries, including downloading of source code. This requires slave to has VCS binary (for example, git) and access to target repository (for git it may be ssh key).
I don't have any slave with TFS at hand right now, but the process is pretty same. I suppose if you check Console output of build, you'll see the full path to binary used for TFS download somewhere at the very top.
Here is a sample of such output for git:
Building remotely on slave01 in workspace /jenkins-workspace
> /bin/git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> /bin/git config remote.origin.url git#github.com:ORG/repo.git # timeout=10
To establish a communication between Jenkins and TFS, you need to install Team Foundation Server Plugin and configure it as this article states. In this way, Jenkins can get resources from TFS.
Each slave runs a separate program called a "slave agent", the slave agent and Jenkins master needs to establish a bi-directional communication link.
To set up slaves/nodes in Jenkins, you can refer to this article. If all the settings all entered correctly, the node slave machine will be online and communicate with Jenkins master.

How can R-Studio access R packages from local repo

We have installed R-Studio in Linux server which does not have access to Internet. But for R-Studio needs to download & update R-Packages as and when required.
All our desktops runs windows OS. Is there a way out to have for R-Studio from Linux server to access a local repo from where R-Packages can be downloaded ?
Absolutely. All you need to do is set up your own CRAN-like repository. You can do this conveniently with e.g. the miniCRAN package.
Once you have a repository set up, you can use the Rprofile.site file to permanently direct users to your local repository (here are instructions).

Error creating git repos using Xcode/OS X Server

I recently installed OS X Server on a seperate machine and attempting to host some git repos. When I try to create a new project & remote repo with Xcode I get an error -
Could not connect to the remote repository because the server was unreachable.
If I attempt to configure it again after the project has been created I get this error -
Cannot create hosted Git repositories at path because path already exists: /Library/Developer/XcodeServer/HostedRepositories/SampleProject
Looking at the server - I can see the repos were actually created, but for some reason I can't connect/push to them. I have tried this on the machine running the server and another one on the same network with the same results. Is something not configured correctly or any way to get at a more detailed error?
Fixed it by going into the Xcode service repository settings and enabling SSH access.

Copying files built on Unix back to Windows Jenkins workspace

I have a jenkins Job in which I build my application on Unix box by making SSH connection to it and run the build script on Unix box. My Jenkins is on windows I want to generate PMD reports on windows so, i want to copy pmd.xml file from Unix box to Windows machine.
Right now my windows Jenkins workspace is empty because I do SVN checkout, Build and generation of binaries on Unix box. for this purpose I am using Jenkins SSH plugin.
Is there any way to copy Unix contents back to Windows Jenkins Workspace?
I have tried Jenkins SCP plugin but confused with source and SCP site. Please suggest.
Thanks in Advance.
You can use plink.exe and pscp.exe to interface from Windows to Linux. These should be part of your PuTTY distribution.
However, if your slave is already connecting to the Linux machine, you can use the same connection to bring the file back to slave's workspace. Then use Copy to Slave plugin (nevermind the name, it does both directions) to move the file from slave to master workspace
I Added Linux machine as slave to windows master and then used Copy-to-Slave plugin to copy generated reports from linux to windows workspace its working fine.

Backup of SVN repository, located on Linux server, to Windows Client

I try to create a backup of my SVN repository, located on Linux server, from Windows command-line Subversion Client:
C:\project>svnadmin hotcopy svn://"URL_of_my_SVN_repository"/ C:/BACKUP
and receive following error:
svnadmin: E205000: 'svn://"URL_of_my_SVN_repository"/' is a URL when it should be a local path
How I can solve it? I need to initiate a backup my SVN repository from Windows PC (due to our network policy I have access to the Linux server port 3690 (SVN) only).
According to the documentation, you can't run svnadmin from a remote machine:
Since svnadmin works via direct repository access (and thus can only be used on the machine that holds the repository), it refers to the repository with a path, not a URL.
The standard approach to backing up to a remote location is to combine multiple tools:
Run svnadmin on the machine which serves svn.
Use a tool like rsync to copy that repo dump from the svn server to the machine which will be backed up.
If your network policy allows you to run an svn server on a machine, but not to schedule svnadmin backup jobs on that machine, then I think you need to re-consider your network policy.

Resources