Installation and Configuration Jenkins to build Android app (Phần 1 - Installation)

What is Jenkins?

Jenkins là một self-contained, open source automation server, được sử dụng để tự động hóa tất cả các nhiệm vụ liên quan đến build, testing và delivering hoặc deploying software.

Jenkins có thể được cài đặt thông qua native system packages, Docker hoặc thậm chí là chạy độc lập - standalone bởi bất gì máy nào có cài đặt Java Runtime Environment (JRE).

Trong bài viết này chúng ta sẽ thực hiện cài đặt Jenkins trên chính PC hay laptop của chúng ta dưới dạng standalone, sau đó thực hiện setup để sử dụng Jenkins thực hiện build một Android app.

Install Jenkins

Prerequisites

Về Machine

Bạn cần có một máy pc hay laptop đang trống:

  • 256MB RAM, đẹp hơn thì 512MB trở lên thì càng tốt
  • 10GB bộ nhớ trống để cài đặt Jenkins và lưu trữ Docker image

Install Java8

Đối với mác Mac, ta sử dụng Homebrew để thực hiện cài đặt java8:

brew cask install java8

Còn đối với các máy Linux ta thực hiện theo các step sau:

  1. Install java8
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
  1. Verify Java installation
sudo apt-get install oracle-java8-set-default
java -version
  1. Setup JAVA_HOME and JRE_HOME Variable
cat >> /etc/environment <<EOL
JAVA_HOME=/usr/lib/jvm/java-8-oracle
JRE_HOME=/usr/lib/jvm/java-8-oracle/jre
EOL

Install Docker

Tiếp theo, ta sẽ thực hiện cài đặt Docker nếu máy bạn chưa được cài đặt. Bạn có thể tìm hiểu thêm về Docker tại đây nếu chưa rõ nó là cái gì, hãy thử tìm hiểu qua về Docker, nó thực sự rất hữu ích cho một lập trình viên.

Ở đây ra sẽ trình bày các bước cài đặt Docker cho máy Mac của bạn.

  1. Đầu tiên ta sẽ thực tải file Docker.dmg từ đây về.
  2. Double-click vào file Docker.dmg để open installer, sau đó kéo Docker.app vào Application folder.

  1. Double-click vào Docker.app trong Application folder để khởi động Docker.

Ngay sau khi Docker được khởi động, nó sẽ yêu cầu system password của bạn. Privileged access cũng cần được cung cấp để thực hiện cài đặt networking components và link đến Docker apps.

Icon cá voi được hiển thị trên thanh status cho biết Docker đang chạy, đồng thời có thể truy cập từ terminal.

Click vào icon cá voi, popup yêu cầu đăng nhập sẽ hiện ra nếu bạn chưa đăng nhập, hãy thực hiện đăng nhập, nếu chưa có tài khoản thì bạn hãy lên docker.com để tạo tài khoản.

  1. Check versions
docker --version
Docker version 18.09, build c97c6d6

docker-compose --version
docker-compose version 1.23.2, build 8dd22a9

docker-machine --version
docker-machine version 0.16.0, build 9ba6da9
  1. Để thực hiện config cho Docker bạn có thể xem cụ thể ở đây, trong bài này sẽ không đi sâu vào.

Trên đây là cài đặt Docker cho máy Mac của bạn, đối với các OS khác bạn có thể truy cập https://docs.docker.com/ để tìm hiểu thêm.

Install Jenkins

Chúng ta sẽ thực hiện cài đặt Jenkins thông qua WAR file.

  1. Download bản Jenkins WAR file mới nhất về máy của bạn.
  2. Open terminal window tại folder chứa WAR file vừa download về, và run command:
java -jar jenkins.war --httpPort=8080
  1. Mở trình duyệt với link http://localhost:8080 và đợi Unlock Jenkins được hiển thị lên

  1. Khi Unlock Jenkins được hiển thị lên, nó sẽ đòi bạn nhập initialAdminPassword, bạn có thể lấy password này ở trong console log chi thực hiện chạy Jenkins lần đầu ở bước 2:

Hoặc bạn có thể truy cập file initialAdminPassword trong đường dẫn được ghi trong popup Unlock Jenkins để lấy AdminPassword. Nhập AdminPassword và click Continue

  1. Tiếp theo bạn sẽ được lựa chọn các plugin sẽ được cài đặt trên Jenkins:

Bạn có thể chọn Select plugins to install, để có thể tự pick chọn các plugin mong muốn

Ở đây ta sẽ chọn Install suggested plugins để sử dụng các plugin phổ biến, sau ta có thể cài thêm nếu cần

Sau khi click Install suggested plugins thì ngồi đợi cho các plugin đó được cài đặt xong, rồi đến bước kế tiếp.

  1. Sau khi đã cài đặt xong các plugin thì sẽ đến màn tạo Admin User:

Sau khi đã fill đầy đủ thông tin thì ta click Save and Countinue để sang bước tiếp theo.

  1. Tiếp theo là màn hình Instance Configuration, đây sẽ chỉ định Jenkins URL mà bạn sẽ sử dụng trên browser, việc của ta là click Save and Finish:

  1. Click Start using Jenkins để sử dụng Jenkins, sau khi click mà bạn không thấy màn hình Login được hiển thị thì bạn có thể run lại WAR file java -jar jenkins.war --httpPort=8080 và truy cập lại Jenkins URL, màn hình Login sẽ được hiển thị.

  1. Login và sử dụng Jenkins thôi.

Trên đây là cách để cài đặt Jenkins stanalone trên máy tính của bạn, trong phần sau chúng ta sẽ tiếp tục với việc configuration Jenkins để bạn có thể thực hiện build được một Android app.