# Newbie - Completely confused!

**URL:** <https://discuss.circleci.com/t/newbie-completely-confused/8271>\
**Category:** Documentation\
**Created:** [November 24, 2016, 11:32am UTC](https://discuss.circleci.com/t/newbie-completely-confused/8271 "2016-11-24T11:32:02Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![GiacomoLaw](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/giacomolaw/32/14671_2.png) [@GiacomoLaw](https://discuss.circleci.com/u/GiacomoLaw)\
**Post date:** [November 24, 2016, 11:32am UTC](https://discuss.circleci.com/t/newbie-completely-confused/8271/1 "2016-11-24T11:32:02Z")

</div>

I have checked out the documentation, but am still stumped. If someone could explain it to me like I am a three year old, I would love it.

I am using CircleCl in this repo:

[https://github.com/IF-Apps/IF-Charts](https://github.com/IF-Apps/IF-Charts)

Along with a few others. If someone could fork then pull with the correct changes and explain it, I would love it.

I get this warning:

> It looks like we couldn’t infer test settings for your project. Refer to our “Setting your build up manually” document to get started. It should only take a few minutes.

I checked out the documentation, but it doesn’t help.

Thank you!

---

<div class="post-metadata">

**Author:** ![fredrikredflag](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/fredrikredflag/32/5660_2.png) [@fredrikredflag](https://discuss.circleci.com/u/fredrikredflag)\
**Post date:** [November 24, 2016, 11:41am UTC](https://discuss.circleci.com/t/newbie-completely-confused/8271/2 "2016-11-24T11:41:31Z")

</div>

The github repository you linked to doesn’t contain any way to test it. CircleCI does automatically look for a few different ways to test you project, for instance if you use NPM it will check for a test script inside your package.json.

If you don’t want to run tests you can add this to your circle.yml:

```auto
test:
  override:
    - echo "no tests"

```

What do you want to use circleci for? Testing? Deploying?

---

<div class="post-metadata">

**Author:** ![GiacomoLaw](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/giacomolaw/32/14671_2.png) [@GiacomoLaw](https://discuss.circleci.com/u/GiacomoLaw)\
**Post date:** [November 24, 2016, 11:43am UTC](https://discuss.circleci.com/t/newbie-completely-confused/8271/3 "2016-11-24T11:43:08Z")

</div>

Both really…

To tell the truth, I am a little shaky on what to use CircleCl for too!

What do you suggest?

---

<div class="post-metadata">

**Author:** ![GiacomoLaw](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/giacomolaw/32/14671_2.png) [@GiacomoLaw](https://discuss.circleci.com/u/GiacomoLaw)\
**Post date:** [November 24, 2016, 1:46pm UTC](https://discuss.circleci.com/t/newbie-completely-confused/8271/4 "2016-11-24T13:46:59Z")

</div>

Okay, I have this at the moment

> There was an error while parsing your circle.yml: deployment section :release must contain one of heroku:, commands:, or codedeploy:

> Action failed: Configure the build

I currently have this in my circle.yml:

```
dependencies:
  cache_directories:
    - browserstack

deployment:
  master:
    branch: master
    owner: IF-Charts

machine:
  node:
    version: 4.0.0

```

Really confused.

---

<div class="post-metadata">

**Author:** ![GiacomoLaw](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/giacomolaw/32/14671_2.png) [@GiacomoLaw](https://discuss.circleci.com/u/GiacomoLaw)\
**Post date:** [November 24, 2016, 2:59pm UTC](https://discuss.circleci.com/t/newbie-completely-confused/8271/5 "2016-11-24T14:59:47Z")

</div>

Any suggestions on what I should do?

I found the problem above, it was because it was trying to refer to a Heroku server.

Are there any templates that I can use?

---

<div class="post-metadata">

**Author:** ![FelicianoTech](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/felicianotech/32/21348_2.png) [@FelicianoTech](https://discuss.circleci.com/u/FelicianoTech)\
**Post date:** [November 26, 2016, 6:42pm UTC](https://discuss.circleci.com/t/newbie-completely-confused/8271/6 "2016-11-26T18:42:28Z")

</div>

We need to know what you are trying to do before we can give any help. Why are you using CircleCI in the first place? What did you plan on doing with it?

---

<div class="post-metadata">

**Author:** ![levlaz](https://sea2.discourse-cdn.com/circleci/user_avatar/discuss.circleci.com/levlaz/32/36978_2.png) [@levlaz](https://discuss.circleci.com/u/levlaz)\
**Post date:** [December 13, 2016, 9:04pm UTC](https://discuss.circleci.com/t/newbie-completely-confused/8271/7 "2016-12-13T21:04:46Z")

</div>

> [@GiacomoLaw](#):
>
> To tell the truth, I am a little shaky on what to use CircleCl for too!

Typically CircleCI is used to do [Continuous Integration](https://en.wikipedia.org/wiki/Continuous_integration) and Continuous Deployment.

## Continuous Integration

The general idea is to test all changes that you are making to your code base. You can accomplish this with:

- [Unit Tests](https://en.wikipedia.org/wiki/Unit_testing)
- [Integration Tests](https://en.wikipedia.org/wiki/Integration_testing)
- [Functional Tests](https://en.wikipedia.org/wiki/Functional_testing) (also known as End to End tests)

[Software Testing](https://en.wikipedia.org/wiki/Software_testing) in general is a huge topic with tons of concepts.

The way that you write tests varies depending on what language and framework you are using. Looking at your project it looks like it’s a basic web site with a bit of Javascript. Udacity has a great (free!) [intro to JavaScript testing course](https://www.udacity.com/course/javascript-testing--ud549).

## Continuous Deployment

If your tests pass, then you can deploy your code to development, staging, production, etc… the specific way that you do this depends on what type of infrastructure you are deploying too. I think that [Heroku](https://circleci.com/docs/1.0/continuous-deployment-with-heroku/) is easiest to understand and our default integration is simple to set up.

## How does CircleCI help you

Now that we have a basic context of what CI and CD is, we can talk about how CircleCI fits into this picture. CircleCI integrates with your version control system (in this case GitHub) and automatically runs a series of steps every time that we detect a change to your repository (when you push commits).

A CircleCI build consists of a series of steps which are generally:

- Dependencies
- Testing
- Deployment

We have some inference that can detect these automatically if you are using best practices for standard projects. You can also configure each of these phases [manually](https://circleci.com/docs/1.0/manually/).

I hope this clears things up a bit. Good luck in your CI journey 🙂

---

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/circleci/original/3X/5/1/511608acda8e85906e15909b57bd0a46c1dbe291.png) [@system](https://discuss.circleci.com/u/system)\
**Post date:** [June 18, 2018, 11:42am UTC](https://discuss.circleci.com/t/newbie-completely-confused/8271/8 "2018-06-18T11:42:16Z")

</div>

Closed on June 18, 2018, 11:42am UTC


