Which Continuous Integration service should I choose for average Rails project? [closed] - ruby-on-rails

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
Our project has 4 developers, but we have a lot of Rspec tests: they take 30 minutes in one thread.
Comfortable count of threads for one build is 3. Also we follow agile methodology and there are few simultaneous commits at Friday’s afternoon. Waiting in the queue is not what we want. So our team wants to run 2 builds (each in 3 threads) simultaneously: 6 threads as a result. As I understood, at Travis we need to pay at least $250 - it’s not so pleasant.
Also I read about Vexor.io - new CI service with unlimited number of parallel threads. As I understood, with Vexor you need to pay only for minutes of testing. It's an unpopular service, so I'm afraid of using it. Did anybody try Vexor? Which price can we expect?
Or you could advice some other CI with which we could:
Avoid standing in the queue.
Test in 3 (at least) threads.
Don’t pay for this big money.

I used Vexor and it left good impression. Take a closer look at it, because:
Vexor really allows you to run as much threads as you want.
As I remember, it has some free minutes each month, so you can try it for free.
Vexor is compatible with .travis.yml.
We had a similar by size project and price was less than 50$.
Good luck!

I didn't try anything but Travis (if we talk about SaaS). But you can try some self-hosted solution like Jenkins. You can customize it as you want, also you’ll achieve a lower price.

You could also take a look at CircleCI. I've been using it for a while, it's really easy to set up and use, and it is also very flexible in terms of configuration. And their staff is very helpful too, I get answers to all my questions within 12 hours.
Here's the link to their docs section about parallelism.

Related

TeamCity vs Jenkins for small startup devshop working in javascript tenchologies [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
What is a good option for a continuous integration server for a small startup devshop?
We work in javascript technologies and make some hybrid apps, among other things.
I was looking into this issue, and came across Jenkins and TeamCity.
It seems like TeamCity is the way we'd prefer to go. I've read numerous blog posts about how TeamCity has a much smoother user experience and things just generally laid out with more clarity. With TeamCity we won't be going on too many a wild goose chase. But for the moment we're trying to skirt our expenses, too.
The free version of TeamCity comes with a server, and 3 build agents. The server delegates the tests to the agents. Is that enough for a small dev shop? I'm thinking probably, but what do I know. We need to test on two different platforms as well as web view (actually that considered maybe 5 platforms - chrome, firefox, safari, android, iOS).
What do you guys think, does a free TeamCity server have enough bandwidth to take on a small dev shop? We have 3-5 people working on a project at a time.
Please add any thoughts you may have about Jenkins vs TeamCity, too
Thanks
Managing your own build servers can end up being quite time consuming, and as such, expensive, even if the licence is free. You also need to remember that while the licence may be free, servers are not. I say this because if I were in your shoes, I would look into something like TravisCI or CodeShip.
It looks expensive compared to a free Teamcity licence, but you owe it to yourselves to atleast consider such an option. (There are others, those are two of the popular choices)
To answer the original question: I do believe that Teamcity will have the "bandwidth" to support your needs, but setup will take some time and effort.

Why not Eclipse for rails development over Sublime text? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I requested to buy Sublime text editor in my office for commercial use. But they are asking why don't I use Eclipse for rails development in Ubuntu.
Well, I am habitual of using Sublime text editor since last 2 years. So, I don't want to switch any other editor as it would affect my consistency and work efficiency as well. But He want some perfect reason to buy.
Anyone can say Why not Eclipse for rails development over Sublime text?
One reason I can say Sublime takes very less Memory and run faster than Eclipse.
It's not an easy thing to argue for purchasing something when your office has free software to do the job.
When I've had to do this, I've broken it down into percentage productivity increase (say even a conservative small number like 2% - which is about 10 minutes per workday), and apply that to your wage, showing how long it will take for the purchase to be worth it.
For example, say you earn $5000/month - 2% productivity gain works out to $100, meaning that if the purchase is under $100, it's already paid for itself by the end of the first month. This benefit can increase a lot if multiple people will take advantage of the purchase for similar productivity gains.
As you can see, it's usually a very short timeframe for things like this. Breaking down a purchase into cost/benefit and showing the raw numbers usually makes things like this incredibly clear.

What approach/methodology are you using for one-man software development [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
You can find thousands of questions out there about how you develop software and which methodology is the best one. But mainly these are targeting medium to large teams, with people having different roles and responsibilities.
What I'm interested in is what methodology are you using for your one-man-shows? What steps are you doing, what documents are you creating to get the things you want to develop clear and document it well, to share it with the community?
Especially, I’m interested in the following questions:
_Are you using a structured approach even you’re developing on your own or no at all?
_What phases are you using?
_Which documents are you writing before and after coding?
And if you have “your” standardized approach, can you share templates which you are using?
Thanks in advance,
cheers
Gerry
Personally I think it is a matter of making decisions when it comes to the development process (solo). In my case I wouldn't recommend setting up a massive development process but I would pick elements which prevent problems that I have earlier had. My approach for small applications (in the right order):
Always write down what you are going to make and what you are not going to make (define a scope) - Think of functional requirements (Functional Design)
(OO only) Make a class diagram that displays relations between classes. (Technical Design - Sequence diagrams, while usefull, take up massive amounts of time to make)
Write your program according to what you have just written down (or part of it).
Refactor and redesign your application (once in every X hours, write this one down)
Repeat step 3 to 4 until the result is what you wrote in the Functional Design.
Walk through every corner of your application to find every single path and write this down in a testdocument. Identify possible problems in the paths and test them.
When it comes to big applications however (or assignments for someone else) I prefer using the "medium to large teams" approach. Which almost brings a guarantee that you will not be meeting most problems.

Best practice to start with the development of a web app [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 6 years ago.
Improve this question
We (a group of 4 students) are planning to create a web-app on Ruby on Rails. I have done some web app projects in the past and one thing I have learned is the initial time devoted to design the app, which was very less, I just start coding with some basic things in my mind.
So, this time, I don't want to do the same mistake and want to plan the app (high level design). But again, sometimes I feel it might be an overkill for a student project which might span for 6 months.
So, what should be the best approach in this case?
My reqs are:
A plan which guides us through the development.
Should the plan be a text doc, a block diagram or what?
Should be clean, crisp and concise.
Would be great if you point me to some sample doc, template etc. Which is not an overkill but effective.
Start making a clone for stackoverflow. Dont go for a full deep functionality for initial stage.
Divide the whole functionality in 4-5 different phases.
Decide your phases.
You can use basecamphq(30 days free) or Fogbugz for planing, to-dos and lighthouse for bug tracking.
EDIT
Just think about the basic minimal functionality SO has:--
Sign-up. (Normal + open-id)
Ask a question, answer a question
Comments on question and answer
Votes on question and answer
tag a question
Question stats like question views, Unanswered question etc
Points
Badges etc
Make a list and divide them in various phases. Don't try to make exact thing in one go. Just start from basic things.
Like for the first phase.
Sign up
Ask question, with tags
answer a question
comments on them
Basic profile page.
For next phase:--
Add ajax for comments (Good for learning ajax)
Votes, Not points
Add things like Unanswered questions. (initial dont try to find the logic how SO is listing unanswered questions, Just do something like unanswered questions means question having no answer.)
Question views
then next phase and next phase. and finally you have a clone. :-)
Ask Jeff to review it. (Kidding)

how to get more involvement from employees? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
Once a week we have a half hour session where we talk about a few features in our application or explain a customer question to our employees(sales, support, technical services, and development). This session is to teach our employees the application we sell and to help them improve the service to our customers. Once every two weeks, this session is mandatory. Unfortunately, some of our employees do not take this too seriously.
How can we, as developers, gain more involvement from the rest of the company? And make them understand the application we're building, selling and supporting more?
Ask them to present the topic in front of you after some days from the session day.
Another good way is to make them suggest new features and modifications in the project.
If you have any hidden "tricks" or "easter eggs" in your application then start showing them one every week.
Make it interesting and tell them how a trick can help a customer.
Couple of points:
Make them feel important. Give them direct input using proper questions, even if you need to resort to analogies.
Speak with them, not at them. When people are being lectured there's a natural instinct to not take any notice.
Use analogies for things they do not understand, and again, give them direct input.
The main goal is giving the person a stake in the project. If they do not have anything valuable in the project (even an opinion that led to a feature classes in here), they will not care.
You can't get any more involvement from your employees because subconsciously they know they will not get any more benefits through exercise of extra involvement.
Reasons?
They may not agree with your development strategy or with your customer relationship model. So they feel as they don't really belong here.
Their work will not profit from any extra insight, so for them it's a waste of time
They don't get paid enough so they are at a minimum accepted performance
They have other personal problems in mind and don't want to take extra mental burden during their working hours
They long since learned the company does not care about their opinion and improvement ideas, so they shut down their involvement service
They're that kind of people that are not interested in being involved (hire strategy issue)
Recognized anything? Then you know what to fix.
The important thing to understand that you should not just cure the disease but the reasons of its emergence. You may threaten people with some punishment actions if they don't get involved. You may play to emulate the need for their involvement. It will work for a brief time then fade out. Until you get to the origin of the problem, nothing will help.

Resources