I would like to set up a Git server on a Windows server using open source code. Bonobo is one of my alternatives, but I can't find information on the support for web hooks.
The answer is - Yes! For an example, see this description of how to use a post receive webhook to trigger a Jenkins build - https://blog.dangl.me/archive/configure-git-hooks-on-bonobo-git-server-in-windows/
Related
Is Kibana Watcher part of AWS Elasticearch open distro?
It should have been part of Stack management on AWS Kibana UI.
I donot see it. Would like to see if there is a way to enable it.
Watcher is neither available on the AWS service nor Open Distro. It's an Elastic product (see the documentation) and you can either get it on Elastic Cloud or by running Elasticsearch yourself (download).
PS: Watcher is a commercial product, so you will either need a license or use Elastic Cloud.
As mentioned, you can't use Watcher. But ODFE does provide Alerting of its own.
Plugin installation and configuration are documented here
I'm looking to use CasperJS/PhantomJS to automate the testing of a project that extensively uses email as part of its process but I keep running into issues when I need check the content of emails in an automated way.
These tools are very capable of crawling through the HTTP version of many email services, but maintaining tests to keep up with UI changes made to external services is not something I want to do.
Do CasperJS or PhantomJS have the ability to use IMAP or POP3 to retrieve mail, or is there a more common solution that is generally implemented?
You can use any nodejs module with Casper:
"Like PhantomJS, CasperJS allows using nodejs modules installed through npm."
So you just need to check the npm repo and test which lib suits you.
Hi using casperjs\Phantomjs you can navigate and automate however for mailing process you have to use nodejs nodemailer module.Try the following command after installing nodejs.
npm install nodemailer#0.7.1.
This installs the nodemailer package and post that you can install the mail clients like sendgrid sendmail or you can just use the nodemailer direct transport but that may cause some delay in mail delivery.
Kindly check the nodemailer scripts and run the script using:
node scriptname.js
PhantomJS (and by extension, Casper) is a web browser - it's not able to use POP or IMAP as far as I know. My first thought as to approach would be to use a separate system for test automation (at least, for those tests that require verifying emails), e.g. using Python, Ruby, or Node.js, invoke Casper via the command line within those tests, and then use a separate tool to check and verify the email.
You could also use a dev smtp server with a web interface like mailcatcher (ruby) or maildev (node).
They also have a rest api, which returns the email in a more stable way than to use the web interface.
I don't tested it, but will soon.
I am trying to setup the Bonobo Git Server to use github on a centralized server. I have followed the instructions given at their documentation. After doing everything as they have described, when I tried to access the Bonobo's git server webpage, I am getting the following error. As I am new to Asp.Net I am not able to completely understand what the problem is.
Can any one please guide me, what is causing this error and how may I solve it?
Plus, if you could tell me any other better Git Server for local setup, that you've tried, it'd be highly appreciated.
I found the solution
IIS - this configuration section cannot be used at this path (configuration locking?)
(The chosen answer helped me).
But unfortunately, now a new error appeared saying
Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive.
I searched and found this:
Unrecognized attribute 'targetFramework'. Note that attribute names are case-sensitive
Kenik's answer
Registering the framework with IIS is what worked for me:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319>aspnet_regiis -i
helped me solve this problem. And Voilla, I've setup my Local git server finally :)
Update:
I've had problems connecting to the server after setting up the server. The following sequence worked for me:
Created an empty Git repository at Bonobo Git Server (In my case: localhost://Bonobo.Git.Server.new/). The Username and Password were admin/admin.
Created the users from the user's management control.
Created an empty repository called newproject, added the users to the repository.
At the client side, I used the following command to clone the repository:
git clone http://username#server/Bonobo.Git.Server.new/newproject.git e.g. in my case it was
git clone http://kamran#Bonobo.Git.Server.new/newproject.git
This cloned the repository at the client side with the warning that the repository was empty. But no problem. I moved into the repository, created some files for testing, pushed them to the server using git push. Now to test, if everything was working fine, I viewed the repository history and my commit was being shown there :) To be further assure, I tried on another client the same procedure i.e. cloned the repository, made some changes and pushed them to the server. After that on my first client, I came back and pulled the repository git pull and the changes were there :)
Note
The Server's firewall must be turned off inorder for the client to connect to the server.
Currently, we have a nexus hosted-repository remotely (in a different geographic location). We have a local-proxy-repository locally to the hosted-repository.
Whenever there are new versions of a few files added to remote-hosted-repository, the first request for the newly added file from the build system is downloading it to local-proxy-repository.
The problem I have now is that some of the files being added are really huge (say around 400 MB). Therefore the first build consumes lot of time to finish.
Is there a way we can poll on remote-hosted-repository and auto-mirror it ?
Nexus Professional 2.+ supports this as experimental feature of the Smart Proxy feature set. It is an experimental feature that is off by default, but should work just fine. Give it a go!
To turn it on go to "administration/capabilities". Check "show advanced" and then select the "smart proxy: subscribe" and enable preemptive fetch.
Update: as of Nexus 2.3 this is no longer deemed experimental and you can configure if for each repository that you proxy off.
I cannot comment on Manfred's answer, so here is a new variant:
If you are running Nexus Professional, you can use Smart Proxy to synchronize repositories.
You need to go through the general setup as described on http://www.sonatype.com/books/nexus-book/reference/smartproxy.html first (establish trust, set up publishing hosted repo, set up receiving proxy repo). Only then is the capability created and Manfreds answer applies:
Go to "Administration/Capabilities", check "Show Advanced" and select the
"Subscribe" capability for your proxy repo. There you can turn on preemptive
fetching, which will automatically download new artifacts in your hosted repository on the proxy.
I am just starting to get my head wrapped around continuous deployment with Jenkins, but I am running into some roadblocks and I haven't really found very many good, definitive resources on the topic in regards to ASP.NET applications.
I have set up a local build server than successfully pulls down code from a SVN repo, and builds it OK with MSBuild. This works well so far, but now I'd like to automate pushing this compiled code to a development server.
My problem is this - from what I gather based on what I read (which may be an incorrect assumption...) is that the staging server is typically within the same network as the build server, meaning you can share network resources, servers, etc.
In my case, I want to run the Jenkins server on a remote VPS, then deploy to other remote VPSes (so, essentially individual isolated machines communicating with each other).
I have seen alot of terms, but I am very new in my Sys Admin / DevOps type skills.
So, my question is this:
Is it even possible to, using Jenkins on a VPS, to then deploy to any particular server I choose? (I have full access to all of them, so if its a security thing, I can fix that... but they are not within the same network/domain)
What is the method to achieve this? I've seen xcopy, Web Deployment Packages (msdeploy), batch scripts, etc. mentioned, but not really a guidance behind what to use in what situations. Are any of these methods useful to achieve my goal?
Thanks for any help or guidance!
How is your Powershell? ;) You should check out psake.
psake is a build automation tool written in PowerShell. It avoids the
angle-bracket tax associated with executable XML by leveraging the
PowerShell syntax in your build scripts. psake has a syntax inspired
by rake (aka make in Ruby) and bake (aka make in Boo), but is easier
to script because it leverages your existent command-line knowledge.
psake is pronounced sake – as in Japanese rice wine. It does NOT rhyme
with make, bake, or rake.
You can deploy your files to the target server through SSH. Jenkins do support transfers through SSH. All you need to do is setting up a SSH server ex : CopSSH and a user account with admin permissions. and configuring the Jenkins to transfer through SSH.
Create host configurations in the main Jenkins configuration
Add an SSH Server
Add the public key to the remote server (the build server)
Click "Test Configuration"
Save
Configure a job to Publish Over SSH (Post Build Action)
Add Transfer Set.
Refer Publish Over SSH For More details